class MachinePipeliner
Declaration
class MachinePipeliner : public MachineFunctionPass { /* full declaration omitted */ };
Description
The main class in the implementation of the target independent software pipeliner pass.
Declared at: llvm/include/llvm/CodeGen/MachinePipeliner.h:60
Inherits from: MachineFunctionPass
Member Variables
- public llvm::MachineFunction* MF = nullptr
- public const llvm::MachineLoopInfo* MLI = nullptr
- public const llvm::MachineDominatorTree* MDT = nullptr
- public const llvm::InstrItineraryData* InstrItins
- public const llvm::TargetInstrInfo* TII = nullptr
- public llvm::RegisterClassInfo RegClassInfo
- public bool disabledByPragma = false
- public unsigned int II_setByPragma = 0
- public llvm::MachinePipeliner::LoopInfo LI
- public static int NumTries
- public static char ID
Method Overview
- public MachinePipeliner()
- public void getAnalysisUsage(llvm::AnalysisUsage & AU) 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
¶MachinePipeliner()
MachinePipeliner()
Declared at: llvm/include/llvm/CodeGen/MachinePipeliner.h:87
¶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/MachinePipeliner.h:93
Parameters
¶bool runOnMachineFunction(
llvm::MachineFunction& MF)
bool runOnMachineFunction(
llvm::MachineFunction& MF)
Description
The "main" function for implementing Swing Modulo Scheduling.
Declared at: llvm/include/llvm/CodeGen/MachinePipeliner.h:91