I met the issue here when working on something else. I don't look
at it further why I met issue here, but looks like
removeAllRegUnitsForPhysReg() is the right way.
Details
- Reviewers
arsenm foad critson - Commits
- rG98dd390573dc: AMDGPU: Use removeAllRegUnitsForPhysReg()
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp | ||
---|---|---|
1591 | Can you use it here too? |
llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp | ||
---|---|---|
1595 | yes, it is a little bit strange, the EXEC_LO_LO16 live range appears after register coalescer, I have not figured out what happened. |
I agree we need to figure out why register coalescer would introduce the liveness for sub-registers of reserved physical register, but I currently don't have enough time to work on that. I think that can be done separately without blocking this change. I would like to apply this change to fix the issue here if no objection. I noticed we already has a bug-report against this issue https://github.com/llvm/llvm-project/issues/54202.
No objections from me to you submitting this.
I assume the posted bug report would be sufficient as a starting point for someone (perhaps myself) to try and root cause the why liveness is being introduced for phys subregs?
Can you use it here too?