[PATCH] D125997: Instruction Type Pipeline

Jeffrey Byrnes via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 19 11:31:55 PDT 2022


jrbyrnes created this revision.
jrbyrnes added reviewers: kerbowa, vangthao95, rampitec, arsenm.
Herald added subscribers: kosarev, jsilvanus, hsmhsm, foad, mgrang, hiraditya, mgorny, nhaehnle, jvesely.
Herald added a project: All.
jrbyrnes requested review of this revision.
Herald added subscribers: llvm-commits, wdng.
Herald added a project: LLVM.

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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D125997

Files:
  llvm/lib/Target/AMDGPU/AMDGPUMFMAClustering.cpp
  llvm/lib/Target/AMDGPU/AMDGPUMFMAClustering.h
  llvm/lib/Target/AMDGPU/AMDGPUSchedPipeline.cpp
  llvm/lib/Target/AMDGPU/AMDGPUSchedPipeline.h
  llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
  llvm/lib/Target/AMDGPU/CMakeLists.txt
  llvm/test/CodeGen/AMDGPU/mfma-cluster-edges.mir
  llvm/test/CodeGen/AMDGPU/mfma-cluster.mir
  llvm/test/CodeGen/AMDGPU/sched-pipeline-dag-mutation.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D125997.430755.patch
Type: text/x-patch
Size: 63867 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220519/4a55d3cf/attachment.bin>


More information about the llvm-commits mailing list