The sched_barrier builtin allow the scheduler's behavior to be shaped by users
when very specific codegen is needed in order to create highly optimized code.
This patch adds more granular control over the types of instructions that are
allowed to be reordered with respect to one or multiple sched_barriers. A mask
is used to specify groups of instructions that should be allowed to be scheduled
around a sched_barrier. The details about this mask may be used can be found in
llvm/include/llvm/IR/IntrinsicsAMDGPU.td.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Any post-RA specific tests?
llvm/lib/Target/AMDGPU/AMDGPUMFMAIGroupLP.cpp | ||
---|---|---|
0 | As is this is useful w/o MFMA too. | |
0 | ... and it should not probably read 'MFMA' here too, just like as in the file and class name. | |
1 | Typo: regeion | |
7 | This sounds pretty dangerous, at least for non-artifical edges. | |
llvm/lib/Target/AMDGPU/SIInstructions.td | ||
2446 ↗ | (On Diff #434503) | Drop it from the change. |
llvm/lib/Target/AMDGPU/AMDGPUMFMAIGroupLP.cpp | ||
---|---|---|
7 | Ya. Although I do not think the DAG builder should rely on the sched_barrier having side effects. |