class InstructionSelect
Declaration
class InstructionSelect : public MachineFunctionPass { /* full declaration omitted */ };
Description
This pass is responsible for selecting generic machine instructions to target-specific instructions. It relies on the InstructionSelector provided by the target. Selection is done by examining blocks in post-order, and instructions in reverse order.
Declared at: llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h:33
Inherits from: MachineFunctionPass
Member Variables
- protected llvm::BlockFrequencyInfo* BFI = nullptr
- protected llvm::ProfileSummaryInfo* PSI = nullptr
- protected CodeGenOpt::Level OptLevel = CodeGenOpt::None
- public static char ID
Method Overview
- public InstructionSelect(CodeGenOpt::Level OL)
- public InstructionSelect()
- public void getAnalysisUsage(llvm::AnalysisUsage & AU) const
- public llvm::StringRef getPassName() const
- public llvm::MachineFunctionProperties getRequiredProperties() const
- public llvm::MachineFunctionProperties getSetProperties() const
- public bool runOnMachineFunction(llvm::MachineFunction & MF)
Inherited from MachineFunctionPass:
- public doInitialization
- protected getAnalysisUsage
- protected getClearedProperties
- protected getRequiredProperties
- protected getSetProperties
- protected runOnMachineFunction
Inherited from FunctionPass:
- public assignPassManager
- public createPrinterPass
- public getPotentialPassManagerType
- public runOnFunction
- protected skipFunction
Inherited from Pass:
- public assignPassManager
- public createPass
- public createPrinterPass
- public doFinalization
- public doInitialization
- public dump
- public dumpPassStructure
- public getAdjustedAnalysisPointer
- public getAnalysis
- public getAnalysis
- public getAnalysisID
- public getAnalysisID
- public getAnalysisIfAvailable
- public getAnalysisUsage
- public getAsImmutablePass
- public getAsPMDataManager
- public getPassID
- public getPassKind
- public getPassName
- public getPotentialPassManagerType
- public getResolver
- public lookupPassInfo
- public lookupPassInfo
- public mustPreserveAnalysisID
- public preparePassManager
- public print
- public releaseMemory
- public setResolver
- public verifyAnalysis
Methods
¶InstructionSelect(CodeGenOpt::Level OL)
InstructionSelect(CodeGenOpt::Level OL)
Declared at: llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h:52
Parameters
- CodeGenOpt::Level OL
¶InstructionSelect()
InstructionSelect()
Declared at: llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h:53
¶void getAnalysisUsage(
llvm::AnalysisUsage& AU) const
void getAnalysisUsage(
llvm::AnalysisUsage& AU) const
Description
getAnalysisUsage - Subclasses that override getAnalysisUsage must call this. For MachineFunctionPasses, calling AU.preservesCFG() indicates that the pass does not modify the MachineBasicBlock CFG.
Declared at: llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h:38
Parameters
¶llvm::StringRef getPassName() const
llvm::StringRef getPassName() const
Description
getPassName - Return a nice clean name for a pass. This usually implemented in terms of the name that is registered by one of the Registration templates, but can be overloaded directly.
Declared at: llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h:36
¶llvm::MachineFunctionProperties
getRequiredProperties() const
llvm::MachineFunctionProperties
getRequiredProperties() const
Declared at: llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h:40
¶llvm::MachineFunctionProperties getSetProperties()
const
llvm::MachineFunctionProperties getSetProperties()
const
Declared at: llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h:47
¶bool runOnMachineFunction(
llvm::MachineFunction& MF)
bool runOnMachineFunction(
llvm::MachineFunction& MF)
Description
runOnMachineFunction - This method must be overloaded to perform the desired machine code transformation or analysis.
Declared at: llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h:55