LLVM 22.0.0git
R600CodeGenPassBuilder Class Reference
Inheritance diagram for R600CodeGenPassBuilder:
[legend]

Public Member Functions

 R600CodeGenPassBuilder (R600TargetMachine &TM, const CGPassBuilderOption &Opts, PassInstrumentationCallbacks *PIC)
void addPreISel (PassManagerWrapper &PMW) const
void addAsmPrinter (PassManagerWrapper &PMW, CreateMCStreamer) const
Error addInstSelector (PassManagerWrapper &PMW) const
Public Member Functions inherited from llvm::CodeGenPassBuilder< R600CodeGenPassBuilder, R600TargetMachine >
 CodeGenPassBuilder (R600TargetMachine &TM, const CGPassBuilderOption &Opts, PassInstrumentationCallbacks *PIC)
Error buildPipeline (ModulePassManager &MPM, raw_pwrite_stream &Out, raw_pwrite_stream *DwoOut, CodeGenFileType FileType) const
PassInstrumentationCallbacksgetPassInstrumentationCallbacks () const

Additional Inherited Members

Protected Types inherited from llvm::CodeGenPassBuilder< R600CodeGenPassBuilder, R600TargetMachine >
using is_module_pass_t
using is_function_pass_t
using is_machine_function_pass_t
using CreateMCStreamer
Protected Member Functions inherited from llvm::CodeGenPassBuilder< R600CodeGenPassBuilder, R600TargetMachine >
void addFunctionPass (PassT &&Pass, PassManagerWrapper &PMW, bool Force=false, StringRef Name=PassT::name()) const
void addModulePass (PassT &&Pass, PassManagerWrapper &PMW, bool Force=false, StringRef Name=PassT::name()) const
void addMachineFunctionPass (PassT &&Pass, PassManagerWrapper &PMW, bool Force=false, StringRef Name=PassT::name()) const
void flushFPMsToMPM (PassManagerWrapper &PMW, bool FreeMachineFunctions=false) const
void requireCGSCCOrder (PassManagerWrapper &PMW) const
void stopAddingInCGSCCOrder (PassManagerWrapper &PMW) const
TMC & getTM () const
CodeGenOptLevel getOptLevel () const
bool isGlobalISelAbortEnabled () const
 Check whether or not GlobalISel should abort on error.
bool reportDiagnosticWhenGlobalISelFallback () const
 Check whether or not a diagnostic should be emitted when GlobalISel uses the fallback path.
Error addInstSelector (PassManagerWrapper &PMW) const
 addInstSelector - This method should install an instruction selector pass, which converts from LLVM code to machine instructions.
void addGlobalMergePass (PassManagerWrapper &PMW) const
 Target can override this to add GlobalMergePass before all IR passes.
void addILPOpts (PassManagerWrapper &PMW) const
 Add passes that optimize instruction level parallelism for out-of-order targets.
void addPreRegAlloc (PassManagerWrapper &PMW) const
 This method may be implemented by targets that want to run passes immediately before register allocation.
void addPreRewrite (PassManagerWrapper &PMW) const
 addPreRewrite - Add passes to the optimized register allocation pipeline after register allocation is complete, but before virtual registers are rewritten to physical registers.
void addPostRewrite (PassManagerWrapper &PMW) const
 Add passes to be run immediately after virtual registers are rewritten to physical registers.
void addPostRegAlloc (PassManagerWrapper &PMW) const
 This method may be implemented by targets that want to run passes after register allocation pass pipeline but before prolog-epilog insertion.
void addPreSched2 (PassManagerWrapper &PMW) const
 This method may be implemented by targets that want to run passes after prolog-epilog insertion and before the second instruction scheduling pass.
void addPreEmitPass (PassManagerWrapper &PMW) const
 This pass may be implemented by targets that want to run passes immediately before machine code is emitted.
void addPreEmitPass2 (PassManagerWrapper &PMW) const
 Targets may add passes immediately before machine code is emitted in this callback.
void addPreISel (PassManagerWrapper &PMW) const
 {{@ For GlobalISel
Error addIRTranslator (PassManagerWrapper &PMW) const
 This method should install an IR translator pass, which converts from LLVM code to machine instructions with possibly generic opcodes.
void addPreLegalizeMachineIR (PassManagerWrapper &PMW) const
 This method may be implemented by targets that want to run passes immediately before legalization.
Error addLegalizeMachineIR (PassManagerWrapper &PMW) const
 This method should install a legalize pass, which converts the instruction sequence into one that can be selected by the target.
void addPreRegBankSelect (PassManagerWrapper &PMW) const
 This method may be implemented by targets that want to run passes immediately before the register bank selection.
Error addRegBankSelect (PassManagerWrapper &PMW) const
 This method should install a register bank selector pass, which assigns register banks to virtual registers without a register class or register banks.
void addPreGlobalInstructionSelect (PassManagerWrapper &PMW) const
 This method may be implemented by targets that want to run passes immediately before the (global) instruction selection.
Error addGlobalInstructionSelect (PassManagerWrapper &PMWM) const
 This method should install a (global) instruction selector pass, which converts possibly generic instructions to fully target-specific instructions, thereby constraining all generic virtual registers to register classes.
void addISelPasses (PassManagerWrapper &PMW) const
 High level function that adds all passes necessary to go from llvm IR representation to the MI representation.
Error addCoreISelPasses (PassManagerWrapper &PMW) const
 Add the actual instruction selection passes.
Error addMachinePasses (PassManagerWrapper &PMW) const
 Add the complete, standard set of LLVM CodeGen passes.
void addPassesToHandleExceptions (PassManagerWrapper &PMW) const
 Add passes to lower exception handling for the code generator.
void addIRPasses (PassManagerWrapper &PMW) const
 Add common target configurable passes that perform LLVM IR to IR transforms following machine independent optimization.
void addCodeGenPrepare (PassManagerWrapper &PMW) const
 Add pass to prepare the LLVM IR for code generation.
void addISelPrepare (PassManagerWrapper &PMW) const
 Add common passes that perform LLVM IR to IR transforms in preparation for instruction selection.
void addMachineSSAOptimization (PassManagerWrapper &PMW) const
 Methods with trivial inline returns are convenient points in the common codegen pass pipeline where targets may insert passes.
Error addFastRegAlloc (PassManagerWrapper &PMW) const
 addFastRegAlloc - Add the minimum set of target-independent passes that are required for fast register allocation.
void addOptimizedRegAlloc (PassManagerWrapper &PMW) const
 addOptimizedRegAlloc - Add passes related to register allocation.
void addMachineLateOptimization (PassManagerWrapper &PMW) const
 Add passes that optimize machine instructions after register allocation.
void addGCPasses (PassManagerWrapper &PMW) const
 addGCPasses - Add late codegen passes that analyze code for garbage collection.
void addBlockPlacement (PassManagerWrapper &PMW) const
 Add standard basic block placement passes.
void addAsmPrinter (PassManagerWrapper &PMW, CreateMCStreamer) const
void addTargetRegisterAllocator (PassManagerWrapper &PMW, bool Optimized) const
 Utilities for targets to add passes to the pass manager.
void addRegAllocPass (PassManagerWrapper &PMW, bool Optimized) const
 addMachinePasses helper to create the target-selected or overriden regalloc pass.
Error addRegAssignmentFast (PassManagerWrapper &PMW) const
 Add core register alloator passes which do the actual register assignment and rewriting.
Error addRegAssignmentOptimized (PassManagerWrapper &PMWM) const
void disablePass ()
 Allow the target to disable a specific pass by default.
void insertPass (InsertedPassT &&Pass) const
 Insert InsertedPass pass after TargetPass pass.
Protected Attributes inherited from llvm::CodeGenPassBuilder< R600CodeGenPassBuilder, R600TargetMachine >
R600TargetMachineTM
CGPassBuilderOption Opt
PassInstrumentationCallbacksPIC

Detailed Description

Definition at line 54 of file R600TargetMachine.cpp.

Constructor & Destructor Documentation

◆ R600CodeGenPassBuilder()

Member Function Documentation

◆ addAsmPrinter()

void R600CodeGenPassBuilder::addAsmPrinter ( PassManagerWrapper & PMW,
CreateMCStreamer  ) const

Definition at line 195 of file R600TargetMachine.cpp.

◆ addInstSelector()

Error R600CodeGenPassBuilder::addInstSelector ( PassManagerWrapper & PMW) const

Definition at line 200 of file R600TargetMachine.cpp.

References llvm::Error::success().

◆ addPreISel()

void R600CodeGenPassBuilder::addPreISel ( PassManagerWrapper & PMW) const

Definition at line 191 of file R600TargetMachine.cpp.


The documentation for this class was generated from the following file: