class ModulePass
Declaration
class ModulePass : public Pass { /* full declaration omitted */ };
Description
ModulePass class - This class is used to implement unstructured interprocedural optimizations and analyses. ModulePasses may do anything they want to the program.
Declared at: llvm/include/llvm/Pass.h:222
Inherits from: Pass
Method Overview
- public ModulePass(char & pid)
- public void assignPassManager(llvm::PMStack & PMS, llvm::PassManagerType T)
- public llvm::Pass * createPrinterPass(llvm::raw_ostream & OS, const std::string & Banner) const
- public llvm::PassManagerType getPotentialPassManagerType() const
- public virtual bool runOnModule(llvm::Module & M)
- protected bool skipModule(llvm::Module & M) const
- public ~ModulePass()
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
¶ModulePass(char& pid)
ModulePass(char& pid)
Declared at: llvm/include/llvm/Pass.h:224
Parameters
- char& pid
¶void assignPassManager(llvm::PMStack& PMS,
llvm::PassManagerType T)
void assignPassManager(llvm::PMStack& PMS,
llvm::PassManagerType T)
Description
Each pass is responsible for assigning a pass manager to itself. PMS is the stack of available pass manager.
Declared at: llvm/include/llvm/Pass.h:237
Parameters
- llvm::PMStack& PMS
- llvm::PassManagerType T
¶llvm::Pass* createPrinterPass(
llvm::raw_ostream& OS,
const std::string& Banner) const
llvm::Pass* createPrinterPass(
llvm::raw_ostream& OS,
const std::string& Banner) const
Description
createPrinterPass - Get a module printer pass.
Declared at: llvm/include/llvm/Pass.h:230
Parameters
- llvm::raw_ostream& OS
- const std::string& Banner
¶llvm::PassManagerType
getPotentialPassManagerType() const
llvm::PassManagerType
getPotentialPassManagerType() const
Description
Return what kind of Pass Manager can manage this pass.
Declared at: llvm/include/llvm/Pass.h:240
¶virtual bool runOnModule(llvm::Module& M)
virtual bool runOnModule(llvm::Module& M)
Description
runOnModule - Virtual method overriden by subclasses to process the module being operated on.
Declared at: llvm/include/llvm/Pass.h:235
Parameters
- llvm::Module& M
¶bool skipModule(llvm::Module& M) const
bool skipModule(llvm::Module& M) const
Description
Optional passes call this function to check whether the pass should be skipped. This is the case when optimization bisect is over the limit.
Declared at: llvm/include/llvm/Pass.h:245
Parameters
- llvm::Module& M
¶~ModulePass()
~ModulePass()
Declared at: llvm/include/llvm/Pass.h:227