Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Target/AMDGPU/SOPInstructions.td | ||
---|---|---|
1166 | The regular one should be marked with side effects |
llvm/lib/Target/AMDGPU/SOPInstructions.td | ||
---|---|---|
1166 | My initial implementation did that - even though I was unsure if a nop should be tagged as having side-effects. LLVM :: CodeGen/AMDGPU/copy-vgpr-clobber-spill-vgpr.mir LLVM :: CodeGen/AMDGPU/fold-immediate-operand-shrink.mir LLVM :: CodeGen/AMDGPU/sched-barrier-pre-RA.mir LLVM :: CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir LLVM :: CodeGen/AMDGPU/sched-group-barrier-pre-RA.mir LLVM :: CodeGen/AMDGPU/spill-empty-live-interval.mir |
llvm/lib/Target/AMDGPU/SOPInstructions.td | ||
---|---|---|
1166 | First I've noticed this odd bug that it doesn't have side effects before. That should be fixed independently. Also, pseudos that modify any real instruction should use a lowercase suffix |
Depending on the use case, you might also have to mark it as a scheduling barrier, not just having side effects.
It is possible that might be required, but the behaviour is modelled on s_sleep which only tags "hasSideEffects" and doesn't attempt to make it a scheduling barrier as well.
I propose to leave the implementation as-is and it can be re-visited if a scheduling barrier needs to be enforced.
llvm/lib/Target/AMDGPU/SOPInstructions.td | ||
---|---|---|
1166 |
|
Rebased on @foad 's change and submitted as PR here: https://github.com/llvm/llvm-project/pull/65757
The regular one should be marked with side effects