LLVM  14.0.0git
R600.h
Go to the documentation of this file.
1 //===-- AMDGPU.h - MachineFunction passes hw codegen --------------*- C++ -*-=//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 /// \file
8 //===----------------------------------------------------------------------===//
9 
10 #ifndef LLVM_LIB_TARGET_AMDGPU_R600_H
11 #define LLVM_LIB_TARGET_AMDGPU_R600_H
12 
13 #include "llvm/Support/CodeGen.h"
14 
15 namespace llvm {
16 
17 class FunctionPass;
18 class TargetMachine;
19 class ModulePass;
20 class PassRegistry;
21 
22 // R600 Passes
23 FunctionPass *createR600VectorRegMerger();
24 FunctionPass *createR600ExpandSpecialInstrsPass();
25 FunctionPass *createR600EmitClauseMarkers();
26 FunctionPass *createR600ClauseMergePass();
27 FunctionPass *createR600Packetizer();
28 FunctionPass *createR600ControlFlowFinalizer();
29 FunctionPass *createAMDGPUCFGStructurizerPass();
30 FunctionPass *createR600ISelDag(TargetMachine *TM, CodeGenOpt::Level OptLevel);
32 
33 void initializeR600ClauseMergePassPass(PassRegistry &);
34 extern char &R600ClauseMergePassID;
35 
36 void initializeR600ControlFlowFinalizerPass(PassRegistry &);
37 extern char &R600ControlFlowFinalizerID;
38 
41 
42 void initializeR600VectorRegMergerPass(PassRegistry &);
43 extern char &R600VectorRegMergerID;
44 
45 void initializeR600PacketizerPass(PassRegistry &);
46 extern char &R600PacketizerID;
47 
48 } // End namespace llvm
49 
50 #endif
llvm::initializeR600ControlFlowFinalizerPass
void initializeR600ControlFlowFinalizerPass(PassRegistry &)
llvm::R600ControlFlowFinalizerID
char & R600ControlFlowFinalizerID
Definition: R600ControlFlowFinalizer.cpp:687
llvm::createR600ExpandSpecialInstrsPass
FunctionPass * createR600ExpandSpecialInstrsPass()
Definition: R600ExpandSpecialInstrs.cpp:57
llvm::initializeR600PacketizerPass
void initializeR600PacketizerPass(PassRegistry &)
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition: AllocatorList.h:23
llvm::initializeR600ExpandSpecialInstrsPassPass
void initializeR600ExpandSpecialInstrsPassPass(PassRegistry &)
llvm::R600PacketizerID
char & R600PacketizerID
Definition: R600Packetizer.cpp:400
llvm::initializeR600ClauseMergePassPass
void initializeR600ClauseMergePassPass(PassRegistry &)
llvm::createR600OpenCLImageTypeLoweringPass
ModulePass * createR600OpenCLImageTypeLoweringPass()
Definition: R600OpenCLImageTypeLoweringPass.cpp:372
llvm::createR600ClauseMergePass
FunctionPass * createR600ClauseMergePass()
Definition: R600ClauseMergePass.cpp:207
llvm::createR600Packetizer
FunctionPass * createR600Packetizer()
Definition: R600Packetizer.cpp:402
llvm::createR600EmitClauseMarkers
FunctionPass * createR600EmitClauseMarkers()
Definition: R600EmitClauseMarkers.cpp:334
llvm::initializeR600VectorRegMergerPass
void initializeR600VectorRegMergerPass(PassRegistry &)
llvm::R600VectorRegMergerID
char & R600VectorRegMergerID
Definition: R600OptimizeVectorRegisters.cpp:134
llvm::CodeGenOpt::Level
Level
Definition: CodeGen.h:52
llvm::createR600VectorRegMerger
FunctionPass * createR600VectorRegMerger()
Definition: R600OptimizeVectorRegisters.cpp:383
llvm::R600ExpandSpecialInstrsPassID
char & R600ExpandSpecialInstrsPassID
Definition: R600ExpandSpecialInstrs.cpp:55
llvm::createR600ControlFlowFinalizer
FunctionPass * createR600ControlFlowFinalizer()
Definition: R600ControlFlowFinalizer.cpp:689
llvm::R600ClauseMergePassID
char & R600ClauseMergePassID
Definition: R600ClauseMergePass.cpp:73
CodeGen.h
TM
const char LLVMTargetMachineRef TM
Definition: PassBuilderBindings.cpp:47
llvm::createAMDGPUCFGStructurizerPass
FunctionPass * createAMDGPUCFGStructurizerPass()
Definition: AMDILCFGStructurizer.cpp:1641
llvm::createR600ISelDag
FunctionPass * createR600ISelDag(TargetMachine *TM, CodeGenOpt::Level OptLevel)
This pass converts a legalized DAG into a R600-specific.
Definition: R600ISelDAGToDAG.cpp:181