aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorAustin Kerbow <Austin.Kerbow@amd.com>2022-03-24 17:46:15 -0700
committerAustin Kerbow <Austin.Kerbow@amd.com>2022-05-11 13:22:51 -0700
commit2db700215a2eebce7358c0a81a3d52d0a9d4a997 (patch)
treeed08b1c52bcd53ed3cb6191e604f3a05c4f1283f /clang/lib/Frontend/CompilerInvocation.cpp
parent1911843c3126a3cbe13a7fd75146f3fa3e06e133 (diff)
downloadllvm-2db700215a2eebce7358c0a81a3d52d0a9d4a997.zip
llvm-2db700215a2eebce7358c0a81a3d52d0a9d4a997.tar.gz
llvm-2db700215a2eebce7358c0a81a3d52d0a9d4a997.tar.bz2
[AMDGPU] Add llvm.amdgcn.sched.barrier intrinsic
Adds an intrinsic/builtin that can be used to fine tune scheduler behavior. If there is a need to have highly optimized codegen and kernel developers have knowledge of inter-wave runtime behavior which is unknown to the compiler this builtin can be used to tune scheduling. This intrinsic creates a barrier between scheduling regions. The immediate parameter is a mask to determine the types of instructions that should be prevented from crossing the sched_barrier. In this initial patch, there are only two variations. A mask of 0 means that no instructions may be scheduled across the sched_barrier. A mask of 1 means that non-memory, non-side-effect inducing instructions may cross the sched_barrier. Note that this intrinsic is only meant to work with the scheduling passes. Any other transformations that may move code will not be impacted in the ways described above. Reviewed By: rampitec Differential Revision: https://reviews.llvm.org/D124700
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions