[all-commits] [llvm/llvm-project] 2e61df: [AMDGPU] Instruction Type Pipeline
Jeffrey Byrnes via All-commits
all-commits at lists.llvm.org
Tue May 31 10:52:50 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 2e61dfb1249e80a36a611c889f3ef86fa4cf3c85
https://github.com/llvm/llvm-project/commit/2e61dfb1249e80a36a611c889f3ef86fa4cf3c85
Author: jeff <jrbyrnes1989 at gmail.com>
Date: 2022-05-31 (Tue, 31 May 2022)
Changed paths:
R llvm/lib/Target/AMDGPU/AMDGPUMFMAClustering.cpp
R llvm/lib/Target/AMDGPU/AMDGPUMFMAClustering.h
A llvm/lib/Target/AMDGPU/AMDGPUMFMAIGroupLP.cpp
A llvm/lib/Target/AMDGPU/AMDGPUMFMAIGroupLP.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/CMakeLists.txt
R llvm/test/CodeGen/AMDGPU/mfma-cluster-edges.mir
R llvm/test/CodeGen/AMDGPU/mfma-cluster.mir
A llvm/test/CodeGen/AMDGPU/mfma-igrouplp-dag-mutation.mir
Log Message:
-----------
[AMDGPU] Instruction Type Pipeline
This patch implements a DAG mutation which adds edges between different groups of instructions. The purpose is to try to generate code that conforms to a pipeline (groupA instructions occur before groupB, groupB -> groupC, and so on). Currently the pipeline order is hardcoded as VMEM->DSRead->MFMA->DSWrite, but the patch was designed to be easily extensible. Alias analysis is problematic for pipelining as memory instructions will usually not be able to be reordered w.r.t one another.
Differential Revision: https://reviews.llvm.org/D125997
More information about the All-commits
mailing list