llvm::MachinePipeliner

The main class in the implementation of the target independent software pipeliner pass.

Synopsis

Declared in <llvm/CodeGen/MachinePipeliner.h>

class MachinePipeliner
    : public MachineFunctionPass

Base Classes

NameDescription
MachineFunctionPassFunctionPass adapter for passes that operate on a MachineFunction.

Types

NameDescription
LoopInfo Cache the target analysis information about the loop.

Member Functions

NameDescription
MachinePipeliner [constructor]Construct the software pipeliner pass.
operator= [deleted]Passes are not assignable.
assignPassManager assignPassManager overloads
createPrinterPass [virtual]createPrinterPass - Get a function printer pass.
doFinalization [virtual]Perform any cleanup needed after all passes have run.
doInitialization [virtual]Cache this pass's MachineFunctionProperties at module initialization.
dump Print this pass's state to stderr for debugging.
dumpPassStructure [virtual]Print the pass nesting structure for -debug-passes=PassStructure.
getAnalysis getAnalysis overloads
getAnalysisID getAnalysisID overloads
getAnalysisIfAvailable Get an optional analysis result that may already be available.
getAnalysisUsage [virtual]Declare the analyses required and preserved by this pass.
getAsImmutablePass [virtual]Return this pass as an ImmutablePass, or null if it is not one.
getAsPMDataManager [virtual]Return this pass as a PMDataManager when it is a nested pass manager.
getPassArgument Return a nice clean name for a pass corresponding to that used to enable the pass in opt.
getPassID getPassID - Return the PassID number that corresponds to this pass.
getPassKind Return the kind of pass (module, function, loop, etc.).
getPassName [virtual]Return a human-readable name for this pass.
getPotentialPassManagerType [virtual]Return what kind of Pass Manager can manage this pass.
getResolver Return the analysis resolver installed for this pass.
mustPreserveAnalysisID Report whether the analysis identified by AID must be preserved.
preparePassManager [virtual]Check whether available pass managers are suitable for this pass.
print [virtual]Print the internal state of this pass for analysis dumping.
printIRUnit [virtual]Serialize the IR unit this pass operates on for --print-changed.
releaseMemory [virtual]Release memory held by this pass when it is no longer needed.
runOnFunction [virtual]runOnFunction - Virtual method overriden by subclasses to do the per-function processing of the pass.
runOnMachineFunction [virtual]Run software pipelining on MF.
setResolver Install the analysis resolver used to satisfy this pass's dependencies.
verifyAnalysis [virtual]verifyAnalysis() - This member can be implemented by a analysis pass to check state of analysis information.

Static Member Functions

NameDescription
createPass Construct a new instance of the pass identified by ID.
lookupPassInfo lookupPassInfo overloads

Data Members

NameDescription
II_setByPragma Initiation interval forced by pragma, or zero if unset.
InstrItins Instruction itineraries for the current subtarget, if any.
LI Cached analysis information for the loop being pipelined.
MF Machine function currently being processed.
MLI Machine loop info analysis for the function.
ORE Optimization remark emitter for this function.
RegClassInfo Register class info used for pressure estimates.
TII Target instruction info for the current subtarget.
disabledByPragma True if pipelining was disabled for the loop by a pragma.

Static Data Members

NameDescription
ID Pass identification, replacement for typeid.
NumTries Number of schedule attempts made in debug builds.

Protected Member Functions

NameDescription
getAnalysisUsage [virtual]getAnalysisUsage - Subclasses that override getAnalysisUsage must call this.
getClearedProperties [virtual]Return the MachineFunctionProperties this pass clears when it runs.
getRequiredProperties [virtual]Return the MachineFunctionProperties this pass requires before running.
getSetProperties [virtual]Return the MachineFunctionProperties this pass sets after running.
runOnMachineFunction [virtual]runOnMachineFunction - This method must be overloaded to perform the desired machine code transformation or analysis.
skipFunction Check whether this optional pass should be skipped for F.

Non-Member Functions

NameDescription
getBestSimplifyQueryBuild a SimplifyQuery from analyses currently valid in a pass.
getPassTimerRequest the timer for this legacy-pass-manager's pass instance.
isBitcodeWriterPassCheck whether a pass is a BitcodeWriterPass.
isIRPrintingPassReturn true if a pass is for IR printing.