[PATCH] D104509: [RegisterCoalescer] Resolve conflict based on liveness of subregister
Matt Arsenault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 28 06:21:06 PDT 2021
arsenm added inline comments.
================
Comment at: llvm/lib/CodeGen/RegisterCoalescer.cpp:2859
+ auto &OtherLI = LIS->getInterval(Other.Reg);
+ bool ClobberOther = !OtherLI.hasSubRanges();
+ // If we are clobbering some active lanes of OtherVNI at VNI->def, it is
----------------
What's the point of entering the loop if this starts out as true? Can't you just early return here?
================
Comment at: llvm/lib/CodeGen/RegisterCoalescer.cpp:2876-2879
+ if (ClobberOther)
+ return CR_Impossible;
+ else
+ return CR_Replace;
----------------
return ClobberOther ? CR_Impossible : CR_Replace
================
Comment at: llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask.ll:355
; CHECK: [[V_OR_B32_e32_62:%[0-9]+]]:vgpr_32 = V_OR_B32_e32 [[V_OR_B32_e32_61]], [[V_ADD_U32_e32_26]], implicit $exec
- ; CHECK: [[SI_SPILL_S32_RESTORE1:%[0-9]+]]:sreg_32_xm0_xexec = SI_SPILL_S32_RESTORE %stack.0, implicit $exec, implicit $sgpr32 :: (load 4 from %stack.0, addrspace 5)
- ; CHECK: [[SI_SPILL_S128_RESTORE:%[0-9]+]]:sgpr_128 = SI_SPILL_S128_RESTORE %stack.1, implicit $exec, implicit $sgpr32 :: (load 16 from %stack.1, align 4, addrspace 5)
----------------
I'm a bit worried this test is no longer hitting what it was supposed to be testing
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D104509/new/
https://reviews.llvm.org/D104509
More information about the llvm-commits
mailing list