Flat scratch load of D16 type by default has tied vdst_in operand (with vdst). This should be taken
care of at the time of "removeOperand" in eliminateFrameIndex. Otherwise we will hit an assert saying
"Cannot move tied operands". This patch unties vdst_in before the move, and retie it with vdst afterwards.
Details
Details
- Reviewers
bcahoon arsenm - Group Reviewers
Restricted Project - Commits
- rG2b731b30a7e7: AMDGPU: Take care of "tied" operand when removeOperand
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/test/CodeGen/AMDGPU/tied-operand.ll | ||
---|---|---|
1 ↗ | (On Diff #447536) | Can you add this to frame-index-elimination.ll instead of creating a new file? Or at least give the new file a more descriptive name, maybe frame-index-elimination-tied-operand.ll? |
llvm/test/CodeGen/AMDGPU/tied-operand.ll | ||
---|---|---|
1 ↗ | (On Diff #447536) | Rename to frame-index-elimination-tied-operand.ll. Using a new file to avoid unnecessary checks. |
llvm/test/CodeGen/AMDGPU/frame-index-elimination-tied-operand.ll | ||
---|---|---|
2 ↗ | (On Diff #447762) | There is a difficulty in the merge. This test is only for gfx1100, and we should not check for any other targets. And the existing tests of frame index elimination never check for gfx1100. It is beyond this work to do additional checks for gfx1100 for other works in frame index elimination. |
Should add gfx11 to the test name?