LLVM API Documentation
The pass manager to schedule RegionPasses. More...
#include <RegionPass.h>
Public Member Functions | |
RGPassManager () | |
bool | runOnFunction (Function &F) |
Execute all of the passes scheduled for execution. More... | |
void | getAnalysisUsage (AnalysisUsage &Info) const |
Pass Manager itself does not invalidate any analysis info. More... | |
virtual const char * | getPassName () const |
virtual PMDataManager * | getAsPMDataManager () |
virtual Pass * | getAsPass () |
void | dumpPassStructure (unsigned Offset) |
Print passes managed by this manager. More... | |
Pass * | getContainedPass (unsigned N) |
Get passes contained by this manager. More... | |
virtual PassManagerType | getPassManagerType () const |
![]() | |
FunctionPass (char &pid) | |
Pass * | createPrinterPass (raw_ostream &O, const std::string &Banner) const |
createPrinterPass - Get a function printer pass. More... | |
virtual void | assignPassManager (PMStack &PMS, PassManagerType T) |
virtual PassManagerType | getPotentialPassManagerType () const |
Return what kind of Pass Manager can manage this pass. More... | |
![]() | |
Pass (PassKind K, char &pid) | |
virtual | ~Pass () |
PassKind | getPassKind () const |
AnalysisID | getPassID () const |
getPassID - Return the PassID number that corresponds to this pass. More... | |
virtual bool | doInitialization (Module &) |
virtual bool | doFinalization (Module &) |
virtual void | print (raw_ostream &O, const Module *M) const |
void | dump () const |
virtual void | preparePassManager (PMStack &) |
Check if available pass managers are suitable for this pass or not. More... | |
void | setResolver (AnalysisResolver *AR) |
AnalysisResolver * | getResolver () const |
virtual void | releaseMemory () |
virtual void * | getAdjustedAnalysisPointer (AnalysisID ID) |
virtual ImmutablePass * | getAsImmutablePass () |
virtual void | verifyAnalysis () const |
template<typename AnalysisType > | |
AnalysisType * | getAnalysisIfAvailable () const |
bool | mustPreserveAnalysisID (char &AID) const |
template<typename AnalysisType > | |
AnalysisType & | getAnalysis () const |
template<typename AnalysisType > | |
AnalysisType & | getAnalysis (Function &F) |
template<typename AnalysisType > | |
AnalysisType & | getAnalysisID (AnalysisID PI) const |
template<typename AnalysisType > | |
AnalysisType & | getAnalysisID (AnalysisID PI, Function &F) |
![]() | |
PMDataManager () | |
virtual | ~PMDataManager () |
void | recordAvailableAnalysis (Pass *P) |
Augment AvailableAnalysis by adding analysis made available by pass P. More... | |
void | verifyPreservedAnalysis (Pass *P) |
verifyPreservedAnalysis – Verify analysis presreved by pass P. More... | |
void | removeNotPreservedAnalysis (Pass *P) |
Remove Analysis that is not preserved by the pass. More... | |
void | removeDeadPasses (Pass *P, StringRef Msg, enum PassDebuggingString) |
Remove dead passes used by P. More... | |
void | freePass (Pass *P, StringRef Msg, enum PassDebuggingString) |
Remove P. More... | |
void | add (Pass *P, bool ProcessAnalysis=true) |
virtual void | addLowerLevelRequiredPass (Pass *P, Pass *RequiredPass) |
virtual Pass * | getOnTheFlyPass (Pass *P, AnalysisID PI, Function &F) |
void | initializeAnalysisInfo () |
Initialize available analysis information. More... | |
bool | preserveHigherLevelAnalysis (Pass *P) |
void | collectRequiredAnalysis (SmallVectorImpl< Pass * > &RequiredPasses, SmallVectorImpl< AnalysisID > &ReqPassNotAvailable, Pass *P) |
void | initializeAnalysisImpl (Pass *P) |
Pass * | findAnalysisPass (AnalysisID AID, bool Direction) |
PMTopLevelManager * | getTopLevelManager () |
void | setTopLevelManager (PMTopLevelManager *T) |
unsigned | getDepth () const |
void | setDepth (unsigned newDepth) |
void | dumpLastUses (Pass *P, unsigned Offset) const |
void | dumpPassArguments () const |
void | dumpPassInfo (Pass *P, enum PassDebuggingString S1, enum PassDebuggingString S2, StringRef Msg) |
void | dumpRequiredSet (const Pass *P) const |
void | dumpPreservedSet (const Pass *P) const |
unsigned | getNumContainedPasses () const |
DenseMap< AnalysisID, Pass * > * | getAvailableAnalysis () |
void | populateInheritedAnalysis (PMStack &PMS) |
Static Public Attributes | |
static char | ID = 0 |
Additional Inherited Members | |
![]() | |
static const PassInfo * | lookupPassInfo (const void *TI) |
static const PassInfo * | lookupPassInfo (StringRef Arg) |
static Pass * | createPass (AnalysisID ID) |
![]() | |
bool | isPassDebuggingExecutionsOrMore () const |
![]() | |
PMTopLevelManager * | TPM |
SmallVector< Pass *, 16 > | PassVector |
DenseMap< AnalysisID, Pass * > * | InheritedAnalysis [PMT_Last] |
The pass manager to schedule RegionPasses.
Definition at line 83 of file RegionPass.h.
|
explicit |
Definition at line 30 of file RegionPass.cpp.
|
virtual |
Print passes managed by this manager.
Reimplemented from llvm::Pass.
Definition at line 169 of file RegionPass.cpp.
References llvm::PMDataManager::dumpLastUses(), llvm::Pass::dumpPassStructure(), llvm::errs(), getContainedPass(), llvm::PMDataManager::getNumContainedPasses(), llvm::raw_ostream::indent(), and P.
|
virtual |
Pass Manager itself does not invalidate any analysis info.
Pass Manager itself does not invalidate any analysis info. RGPassManager needs RegionInfo.
Reimplemented from llvm::Pass.
Definition at line 46 of file RegionPass.cpp.
References llvm::AnalysisUsage::addRequired(), and llvm::AnalysisUsage::setPreservesAll().
|
inlinevirtual |
Implements llvm::PMDataManager.
Definition at line 108 of file RegionPass.h.
|
inlinevirtual |
Reimplemented from llvm::Pass.
Definition at line 107 of file RegionPass.h.
Get passes contained by this manager.
Definition at line 114 of file RegionPass.h.
References N, and llvm::PMDataManager::PassVector.
Referenced by dumpPassStructure(), and runOnFunction().
|
inlinevirtual |
Reimplemented from llvm::PMDataManager.
Definition at line 120 of file RegionPass.h.
References llvm::PMT_RegionPassManager.
|
inlinevirtual |
getPassName - Return a nice clean name for a pass. This usually implemented in terms of the name that is registered by one of the Registration templates, but can be overloaded directly.
Reimplemented from llvm::Pass.
Definition at line 103 of file RegionPass.h.
Execute all of the passes scheduled for execution.
run - Execute all of the passes scheduled for execution. Keep track of whether any of the passes modifies the function, and if so, return true.
Implements llvm::FunctionPass.
Definition at line 53 of file RegionPass.cpp.
References llvm::PMTopLevelManager::activeStack, addRegionIntoQueue(), llvm::RegionInfo::clearNodeCache(), llvm::dbgs(), DEBUG, llvm::RegionPass::doFinalization(), llvm::RegionPass::doInitialization(), llvm::Pass::dump(), llvm::PMDataManager::dumpPassInfo(), llvm::PMDataManager::dumpPreservedSet(), llvm::PMDataManager::dumpRequiredSet(), llvm::EXECUTION_MSG, llvm::PMDataManager::freePass(), getContainedPass(), llvm::Region::getEntry(), llvm::Value::getName(), llvm::Region::getNameStr(), llvm::PMDataManager::getNumContainedPasses(), llvm::getPassTimer(), llvm::RegionInfo::getTopLevelRegion(), I, llvm::PMDataManager::initializeAnalysisImpl(), llvm::MODIFICATION_MSG, llvm::ON_REGION_MSG, P, llvm::PMDataManager::populateInheritedAnalysis(), llvm::PMDataManager::recordAvailableAnalysis(), llvm::PMDataManager::removeDeadPasses(), llvm::PMDataManager::removeNotPreservedAnalysis(), llvm::NVPTX::PTXCvtMode::RP, llvm::RegionPass::runOnRegion(), llvm::PMDataManager::TPM, llvm::PMDataManager::verifyPreservedAnalysis(), llvm::Region::verifyRegion(), and llvm::X.
|
static |
Definition at line 91 of file RegionPass.h.