[AMDGPU] Add iglp_opt builtin and MFMA GEMM Opt strategy
authorAustin Kerbow <Austin.Kerbow@amd.com>
Wed, 17 Aug 2022 17:00:06 +0000 (10:00 -0700)
committerAustin Kerbow <Austin.Kerbow@amd.com>
Fri, 19 Aug 2022 22:38:36 +0000 (15:38 -0700)
commitb0f4678b9058a4ae00200dfb1de0da5f2ea84dcb
tree4aabd7c6588bf414dda8156688f61ed519de525e
parent928c2ba179665bb37dd6a800ea4c4427ad834ace
[AMDGPU] Add iglp_opt builtin and MFMA GEMM Opt strategy

Adds a builtin that serves as an optimization hint to apply specific optimized
DAG mutations during scheduling. This also disables any other mutations or
clustering that may interfere with the desired pipeline. The first optimization
strategy that is added here is designed to improve the performance of small gemm
kernels on gfx90a.

Reviewed By: jrbyrnes

Differential Revision: https://reviews.llvm.org/D132079
17 files changed:
clang/include/clang/Basic/BuiltinsAMDGPU.def
clang/test/CodeGenOpenCL/builtins-amdgcn.cl
clang/test/SemaOpenCL/builtins-amdgcn-error.cl
llvm/include/llvm/IR/IntrinsicsAMDGPU.td
llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.h
llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
llvm/lib/Target/AMDGPU/SIInstructions.td
llvm/lib/Target/AMDGPU/SIPostRABundler.cpp
llvm/test/CodeGen/AMDGPU/igrouplp-dag-mutation.ll [deleted file]
llvm/test/CodeGen/AMDGPU/igrouplp-dag-mutation.mir [deleted file]
llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.ll [new file with mode: 0644]
llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.ll
llvm/test/CodeGen/AMDGPU/sched-group-barrier-pipeline-solver.mir