[all-commits] [llvm/llvm-project] 48ebc1: [AMDGPU] Add more expressive sched_barrier controls

Austin Kerbow via All-commits all-commits at lists.llvm.org
Tue Jun 14 22:23:56 PDT 2022

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 48ebc1af294836d1a2d468a8e97e4e90a62820f9
  Author: Austin Kerbow <Austin.Kerbow at amd.com>
  Date:   2022-06-14 (Tue, 14 Jun 2022)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    A llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.h
    R llvm/lib/Target/AMDGPU/AMDGPUMFMAIGroupLP.cpp
    R llvm/lib/Target/AMDGPU/AMDGPUMFMAIGroupLP.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    A llvm/test/CodeGen/AMDGPU/igrouplp-dag-mutation.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.barrier.ll
    R llvm/test/CodeGen/AMDGPU/mfma-igrouplp-dag-mutation.mir
    A llvm/test/CodeGen/AMDGPU/sched-barrier-post-RA.mir
    A llvm/test/CodeGen/AMDGPU/sched-barrier-pre-RA.mir
    R llvm/test/CodeGen/AMDGPU/sched_barrier.mir

  Log Message:
  [AMDGPU] Add more expressive sched_barrier controls

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

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D127123

More information about the All-commits mailing list