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