Thanks to visit codestin.com
Credit goes to llvm.org

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 (AddIRPass &addPass) const
void addAsmPrinter (AddMachinePass &, CreateMCStreamer) const
Error addInstSelector (AddMachinePass &) 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 >
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 (AddMachinePass &) const
 addInstSelector - This method should install an instruction selector pass, which converts from LLVM code to machine instructions.
void addGlobalMergePass (AddIRPass &) const
 Target can override this to add GlobalMergePass before all IR passes.
void addILPOpts (AddMachinePass &) const
 Add passes that optimize instruction level parallelism for out-of-order targets.
void addPreRegAlloc (AddMachinePass &) const
 This method may be implemented by targets that want to run passes immediately before register allocation.
void addPreRewrite (AddMachinePass &) 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 (AddMachinePass &) const
 Add passes to be run immediately after virtual registers are rewritten to physical registers.
void addPostRegAlloc (AddMachinePass &) 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 (AddMachinePass &) 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 (AddMachinePass &) const
 This pass may be implemented by targets that want to run passes immediately before machine code is emitted.
void addPreEmitPass2 (AddMachinePass &) const
 Targets may add passes immediately before machine code is emitted in this callback.
void addPreISel (AddIRPass &) const
 {{@ For GlobalISel
Error addIRTranslator (AddMachinePass &) const
 This method should install an IR translator pass, which converts from LLVM code to machine instructions with possibly generic opcodes.
void addPreLegalizeMachineIR (AddMachinePass &) const
 This method may be implemented by targets that want to run passes immediately before legalization.
Error addLegalizeMachineIR (AddMachinePass &) const
 This method should install a legalize pass, which converts the instruction sequence into one that can be selected by the target.
void addPreRegBankSelect (AddMachinePass &) const
 This method may be implemented by targets that want to run passes immediately before the register bank selection.
Error addRegBankSelect (AddMachinePass &) 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 (AddMachinePass &) const
 This method may be implemented by targets that want to run passes immediately before the (global) instruction selection.
Error addGlobalInstructionSelect (AddMachinePass &) 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 (AddIRPass &) const
 High level function that adds all passes necessary to go from llvm IR representation to the MI representation.
Error addCoreISelPasses (AddMachinePass &) const
 Add the actual instruction selection passes.
Error addMachinePasses (AddMachinePass &) const
 Add the complete, standard set of LLVM CodeGen passes.
void addPassesToHandleExceptions (AddIRPass &) const
 Add passes to lower exception handling for the code generator.
void addIRPasses (AddIRPass &) const
 Add common target configurable passes that perform LLVM IR to IR transforms following machine independent optimization.
void addCodeGenPrepare (AddIRPass &) const
 Add pass to prepare the LLVM IR for code generation.
void addISelPrepare (AddIRPass &) const
 Add common passes that perform LLVM IR to IR transforms in preparation for instruction selection.
void addMachineSSAOptimization (AddMachinePass &) const
 Methods with trivial inline returns are convenient points in the common codegen pass pipeline where targets may insert passes.
Error addFastRegAlloc (AddMachinePass &) const
 addFastRegAlloc - Add the minimum set of target-independent passes that are required for fast register allocation.
void addOptimizedRegAlloc (AddMachinePass &) const
 addOptimizedRegAlloc - Add passes related to register allocation.
void addMachineLateOptimization (AddMachinePass &) const
 Add passes that optimize machine instructions after register allocation.
void addGCPasses (AddMachinePass &) const
 addGCPasses - Add late codegen passes that analyze code for garbage collection.
void addBlockPlacement (AddMachinePass &) const
 Add standard basic block placement passes.
void addAsmPrinter (AddMachinePass &, CreateMCStreamer) const
void addTargetRegisterAllocator (AddMachinePass &, bool Optimized) const
 Utilities for targets to add passes to the pass manager.
void addRegAllocPass (AddMachinePass &, bool Optimized) const
 addMachinePasses helper to create the target-selected or overriden regalloc pass.
Error addRegAssignmentFast (AddMachinePass &) const
 Add core register alloator passes which do the actual register assignment and rewriting.
Error addRegAssignmentOptimized (AddMachinePass &) 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 ( AddMachinePass & addPass,
CreateMCStreamer  ) const

Definition at line 195 of file R600TargetMachine.cpp.

◆ addInstSelector()

Error R600CodeGenPassBuilder::addInstSelector ( AddMachinePass & ) const

Definition at line 200 of file R600TargetMachine.cpp.

References llvm::Error::success().

◆ addPreISel()

void R600CodeGenPassBuilder::addPreISel ( AddIRPass & addPass) const

Definition at line 191 of file R600TargetMachine.cpp.


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