diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2020-07-26 19:36:28 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2020-07-26 19:36:28 +0000 |
commit | cfca06d7963fa0909f90483b42a6d7d194d01e08 (patch) | |
tree | 209fb2a2d68f8f277793fc8df46c753d31bc853b /llvm/lib/Target/AMDGPU/AMDGPU.h | |
parent | 706b4fc47bbc608932d3b491ae19a3b9cde9497b (diff) |
Notes
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPU.h')
-rw-r--r-- | llvm/lib/Target/AMDGPU/AMDGPU.h | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPU.h b/llvm/lib/Target/AMDGPU/AMDGPU.h index fbed51de0ea4..88c79665be60 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPU.h +++ b/llvm/lib/Target/AMDGPU/AMDGPU.h @@ -10,15 +10,16 @@ #ifndef LLVM_LIB_TARGET_AMDGPU_AMDGPU_H #define LLVM_LIB_TARGET_AMDGPU_AMDGPU_H -#include "llvm/Target/TargetMachine.h" #include "llvm/IR/IntrinsicsR600.h" // TODO: Sink this. #include "llvm/IR/IntrinsicsAMDGPU.h" // TODO: Sink this. +#include "llvm/Support/CodeGen.h" namespace llvm { class AMDGPUTargetMachine; class FunctionPass; class GCNTargetMachine; +class ImmutablePass; class ModulePass; class Pass; class Target; @@ -27,6 +28,14 @@ class TargetOptions; class PassRegistry; class Module; +// GlobalISel passes +void initializeAMDGPUPreLegalizerCombinerPass(PassRegistry &); +FunctionPass *createAMDGPUPreLegalizeCombiner(bool IsOptNone); +void initializeAMDGPUPostLegalizerCombinerPass(PassRegistry &); +FunctionPass *createAMDGPUPostLegalizeCombiner(bool IsOptNone); +FunctionPass *createAMDGPURegBankCombiner(bool IsOptNone); +void initializeAMDGPURegBankCombinerPass(PassRegistry &); + // R600 Passes FunctionPass *createR600VectorRegMerger(); FunctionPass *createR600ExpandSpecialInstrsPass(); @@ -55,8 +64,9 @@ FunctionPass *createSIMemoryLegalizerPass(); FunctionPass *createSIInsertWaitcntsPass(); FunctionPass *createSIPreAllocateWWMRegsPass(); FunctionPass *createSIFormMemoryClausesPass(); -FunctionPass *createAMDGPUSimplifyLibCallsPass(const TargetOptions &, - const TargetMachine *); + +FunctionPass *createSIPostRABundlerPass(); +FunctionPass *createAMDGPUSimplifyLibCallsPass(const TargetMachine *); FunctionPass *createAMDGPUUseNativeCallsPass(); FunctionPass *createAMDGPUCodeGenPreparePass(); FunctionPass *createAMDGPUMachineCFGStructurizerPass(); @@ -159,6 +169,9 @@ extern char &SILowerControlFlowID; void initializeSIRemoveShortExecBranchesPass(PassRegistry &); extern char &SIRemoveShortExecBranchesID; +void initializeSIPreEmitPeepholePass(PassRegistry &); +extern char &SIPreEmitPeepholeID; + void initializeSIInsertSkipsPass(PassRegistry &); extern char &SIInsertSkipsPassID; @@ -185,6 +198,10 @@ FunctionPass *createAMDGPUPromoteAlloca(); void initializeAMDGPUPromoteAllocaPass(PassRegistry&); extern char &AMDGPUPromoteAllocaID; +FunctionPass *createAMDGPUPromoteAllocaToVector(); +void initializeAMDGPUPromoteAllocaToVectorPass(PassRegistry&); +extern char &AMDGPUPromoteAllocaToVectorID; + Pass *createAMDGPUStructurizeCFGPass(); FunctionPass *createAMDGPUISelDag( TargetMachine *TM = nullptr, @@ -219,12 +236,18 @@ extern char &SIMemoryLegalizerID; void initializeSIModeRegisterPass(PassRegistry&); extern char &SIModeRegisterID; +void initializeSIInsertHardClausesPass(PassRegistry &); +extern char &SIInsertHardClausesID; + void initializeSIInsertWaitcntsPass(PassRegistry&); extern char &SIInsertWaitcntsID; void initializeSIFormMemoryClausesPass(PassRegistry&); extern char &SIFormMemoryClausesID; +void initializeSIPostRABundlerPass(PassRegistry&); +extern char &SIPostRABundlerID; + void initializeAMDGPUUnifyDivergentExitNodesPass(PassRegistry&); extern char &AMDGPUUnifyDivergentExitNodesID; |