FPPassManager manages BBPassManagers and FunctionPasses.

Synopsis

Declared in <llvm/IR/LegacyPassManagers.h>

class FPPassManager
    : public ModulePass
    , public PMDataManager

Description

It batches all function passes and basic block pass managers together and sequences them to process one function at a time before processing next function.

Base Classes

Name

Description

ModulePass

Pass that may inspect or transform an entire module freely.

PMDataManager

PMDataManager provides the common place to manage the analysis data used by pass managers.

Member Functions

Name

Description

FPPassManager [constructor]

Construct a function pass manager pass.

operator= [deleted]

Passes are not assignable.

add

Add pass P into the PassVector.

addLowerLevelRequiredPass [virtual]

Add RequiredPass into list of lower level passes required by pass P.

assignPassManager

assignPassManager overloads

cleanup

cleanup ‐ After running all passes, clean up pass manager cache.

collectRequiredAndUsedAnalyses

Collect available used analyses and missing required analyses for P.

createPrinterPass [virtual]

createPrinterPass ‐ Get a module printer pass.

doFinalization [virtual]

doFinalization ‐ Run all of the finalizers for the function passes.

doInitialization [virtual]

doInitialization ‐ Run all of the initializers for the function passes.

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 Nth contained function pass.

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 that this is a function pass manager.

getPassName [virtual]

Return the name of this pass manager.

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.

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.

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

Execute all of the passes scheduled for execution on F.

runOnModule [virtual]

Execute contained passes on every function in module M.

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

Name

Description

createPass

Construct a new instance of the pass identified by ID.

lookupPassInfo

lookupPassInfo overloads

Static Data Members

Name

Description

ID

Pass identification, replacement for typeid.

Using Declarations

Name

Description

doFinalization

doFinalization ‐ Overrides ModulePass doFinalization for global finalization tasks

doInitialization

doInitialization ‐ Overrides ModulePass doInitialization for global initialization tasks

Protected Member Functions

Name

Description

isPassDebuggingExecutionsOrMore

isPassDebuggingExecutionsOrMore ‐ Return true if ‐debug‐pass=Executions or higher is specified.

skipModule

Optional passes call this function to check whether the pass should be skipped. This is the case when optimization bisect is over the limit.

Protected Data Members

Name

Description

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

Name

Description

getBestSimplifyQuery

Build a SimplifyQuery from analyses currently valid in a pass.

getPassTimer

Request the timer for this legacy‐pass‐manager's pass instance.

isBitcodeWriterPass

Check whether a pass is a BitcodeWriterPass.

isIRPrintingPass

Return true if a pass is for IR printing.

Created with MrDocs