LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

llvm::PassManagerImpl Class Reference

PassManagerImpl manages MPPassManagers. More...

Inheritance diagram for llvm::PassManagerImpl:

Inheritance graph
[legend]
Collaboration diagram for llvm::PassManagerImpl:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 PassManagerImpl (int Depth)
void add (Pass *P)
bool run (Module &M)
void getAnalysisUsage (AnalysisUsage &Info) const
 Pass Manager itself does not invalidate any analysis info.
void addTopLevelPass (Pass *P)
MPPassManagergetContainedManager (unsigned N)

Static Public Attributes

char ID = 0

Detailed Description

PassManagerImpl manages MPPassManagers.

Definition at line 265 of file PassManager.cpp.


Constructor & Destructor Documentation

llvm::PassManagerImpl::PassManagerImpl int  Depth  )  [inline, explicit]
 

Definition at line 271 of file PassManager.cpp.

References llvm::TLM_Pass.


Member Function Documentation

void llvm::PassManagerImpl::add Pass P  )  [inline]
 

add - Add a pass to the queue of passes to run. This passes ownership of the Pass to the PassManager. When the PassManager is destroyed, the pass will be destroyed as well, so there is no need to delete the pass. This implies that all passes MUST be allocated with 'new'.

Definition at line 279 of file PassManager.cpp.

Referenced by llvm::PassManager::add().

void llvm::PassManagerImpl::addTopLevelPass Pass P  )  [inline, virtual]
 

This is implemented by top level pass manager and used by schedulePass() to add analysis info passes that are not available.

Implements llvm::PMTopLevelManager.

Definition at line 292 of file PassManager.cpp.

References llvm::Pass::assignPassManager(), and llvm::Pass::setResolver().

void llvm::PassManagerImpl::getAnalysisUsage AnalysisUsage Info  )  const [inline, virtual]
 

Pass Manager itself does not invalidate any analysis info.

Reimplemented from llvm::Pass.

Definition at line 288 of file PassManager.cpp.

References llvm::AnalysisUsage::setPreservesAll().

MPPassManager* llvm::PassManagerImpl::getContainedManager unsigned  N  )  [inline]
 

Definition at line 309 of file PassManager.cpp.

Referenced by run().

bool PassManagerImpl::run Module M  ) 
 

run - Execute all of the passes scheduled for execution. Keep track of whether any of the passes modifies the module, and if so, return true.

Definition at line 1443 of file PassManager.cpp.

References TimingInfo::createTheTimeInfo(), llvm::PMTopLevelManager::dumpArguments(), llvm::PMTopLevelManager::dumpPasses(), getContainedManager(), llvm::PMTopLevelManager::getNumContainedManagers(), llvm::PMTopLevelManager::initializeAllAnalysisInfo(), and llvm::MPPassManager::runOnModule().

Referenced by llvm::PassManager::run().


Member Data Documentation

char llvm::PassManagerImpl::ID = 0 [static]
 

Definition at line 317 of file PassManager.cpp.


The documentation for this class was generated from the following file:


This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.