Fixes: SWDEV-256460
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/CodeGen/MIRPrinter.cpp | ||
---|---|---|
91–92 | Why does the index need to be stored? It seems like the problem is the printer/parser implicitly deleting dead objects | |
llvm/test/CodeGen/MIR/AMDGPU/stack-id-assert.mir | ||
15–21 | Don't need the IR section | |
117–181 | Most of the mir fields can be eliminated | |
221 | You should only need a single block with the spill instructions |
llvm/lib/CodeGen/MIRPrinter.cpp | ||
---|---|---|
91–92 | The issue was that IDs stored in FrameIndexOperand are not the same numbers as offsets in YMF.StackObjects and YMF.FixedStackObjects vectors, since they doesn't contain dead objects. So I added mapping ID -> storage offset. They are stored in temporary FixedStackObjectsIdx and StackObjectsIdx within MIRPrinter::convertStackObjects. |
llvm/test/CodeGen/MIR/AMDGPU/stack-id-assert.mir | ||
---|---|---|
3 | Should mention why with dead objects |
Why does the index need to be stored? It seems like the problem is the printer/parser implicitly deleting dead objects