llvm::LPPassManager

Pass manager that schedules and runs LoopPasses on a function.

Synopsis

Declared in <llvm/Analysis/LoopPass.h>

class LPPassManager
    : public FunctionPass
    , public PMDataManager

Base Classes

NameDescription
FunctionPassFunctionPass class - This class is used to implement most global optimizations. Optimizations should subclass this class if they meet the following constraints:
PMDataManagerPMDataManager provides the common place to manage the analysis data used by pass managers.

Member Functions

NameDescription
LPPassManager [constructor]Construct a loop pass manager.
operator= [deleted]Passes are not assignable.
add Add pass P into the PassVector.
addLoop Add a new loop into the loop queue.
addLowerLevelRequiredPass [virtual]Add RequiredPass into list of lower level passes required by pass P.
assignPassManager assignPassManager overloads
collectRequiredAndUsedAnalyses Collect available used analyses and missing required analyses for P.
createPrinterPass [virtual]createPrinterPass - Get a function printer pass.
doFinalization [virtual]Perform any cleanup needed after all passes have run.
doInitialization [virtual]Perform any initialization needed before any pass is run.
dump Print this pass's state to stderr for debugging.
dumpLastUses Print last-use information for pass P.
dumpPassArguments Print command-line arguments for passes managed here.
dumpPassInfo Print debug-pass status for pass P.
dumpPassStructure dumpPassStructure overloads
dumpPreservedSet Print the preserved analysis set for pass P.
dumpRequiredSet Print the required analysis set for pass P.
dumpUsedSet Print the used analysis set for pass P.
emitInstrCountChangedRemark Emit a remark when the module's IR instruction count changes.
findAnalysisPass Find the pass that implements Analysis AID.
freePass Remove P.
getAnalysis getAnalysis overloads
getAnalysisID getAnalysisID overloads
getAnalysisIfAvailable Get an optional analysis result that may already be available.
getAnalysisUsage getAnalysisUsage overloads
getAsImmutablePass [virtual]Return this pass as an ImmutablePass, or null if it is not one.
getAsPMDataManager [virtual]Return this manager as a PMDataManager.
getAsPass [virtual]Return this manager as a Pass.
getAvailableAnalysis Return the map of analyses currently available to this manager.
getContainedPass Return the contained loop pass at index N.
getDepth Return the nesting depth of this pass manager.
getNumContainedPasses Return the number of passes contained by this manager.
getOnTheFlyPass [virtual]Return an on-the-fly analysis pass instance for P.
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.).
getPassManagerType [virtual]Return the type of this pass manager.
getPassName [virtual]Return the name of this pass.
getPotentialPassManagerType [virtual]Return what kind of Pass Manager can manage this pass.
getResolver Return the analysis resolver installed for this pass.
getTopLevelManager Return the top-level manager that owns this data manager.
initSizeRemarkInfo Set the initial size of the module if the user has specified that they want remarks for size.
initializeAnalysisImpl Fill P's AnalysisImpls from currently available required analyses.
initializeAnalysisInfo Initialize available analysis information.
markLoopAsDeleted Mark loop L as deleted.
mustPreserveAnalysisID Report whether the analysis identified by AID must be preserved.
populateInheritedAnalysis Collect AvailableAnalysis from all the active Pass Managers.
preparePassManager [virtual]Check whether available pass managers are suitable for this pass.
preserveHigherLevelAnalysis Return true if P preserves higher-level analysis used by this manager.
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.
recordAvailableAnalysis Augment AvailableAnalysis by adding analysis made available by pass P.
releaseMemory [virtual]Release memory held by this pass when it is no longer needed.
removeDeadPasses Remove dead passes used by P.
removeNotPreservedAnalysis Remove Analysis that is not preserved by the pass.
runOnFunction [virtual]Execute all of the passes scheduled for execution.
setDepth Set the nesting depth of this pass manager.
setResolver Install the analysis resolver used to satisfy this pass's dependencies.
setTopLevelManager Set the top-level manager that owns this data manager.
verifyAnalysis [virtual]verifyAnalysis() - This member can be implemented by a analysis pass to check state of analysis information.
verifyPreservedAnalysis Verify analysis preserved by pass P.

Static Member Functions

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

Static Data Members

NameDescription
ID Pass identification, replacement for typeid.

Protected Member Functions

NameDescription
isPassDebuggingExecutionsOrMore isPassDebuggingExecutionsOrMore - Return true if -debug-pass=Executions or higher is specified.
skipFunction Check whether this optional pass should be skipped for F.

Protected Data Members

NameDescription
InheritedAnalysis Analysis maps inherited from parent pass managers on the active stack.
PassVector Collection of passes managed by this manager.
TPM Top level manager that owns this data manager.

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.