These VGPRs should be reserved and therefore do not need "correct"
liveness. They should not have undef uses, which can still cause
issues.
Details
- Reviewers
rampitec kerbowa scott.linder
Diff Detail
Event Timeline
llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp | ||
---|---|---|
391 | Why is this bool needed? It seems like freezing the reserved regs is idempotent anyway. If anything I'd expect to just see assert(MRI.reservedRegsFrozen()) to ensure you aren't running before regalloc, but maybe that's redundant? |
llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp | ||
---|---|---|
391 | reservedRegsFrozen is too stupid, it just checks if there are any reserved regs. I actually think that it's a fairly broken concept we should remove, or at least make an explicit property. This is also one of those cases that's actually fairly expensive given the number of register tuples we have (I would like to reframe this in terms of frozen reg units, but haven't gotten around do fixing that) |
Why is this bool needed? It seems like freezing the reserved regs is idempotent anyway. If anything I'd expect to just see assert(MRI.reservedRegsFrozen()) to ensure you aren't running before regalloc, but maybe that's redundant?