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::PMStack Class Reference

#include <PassManagers.h>

Collaboration diagram for llvm::PMStack:

Collaboration graph
[legend]
List of all members.

Public Types

typedef std::deque< PMDataManager
* >::reverse_iterator 
iterator

Public Member Functions

iterator begin ()
iterator end ()
void handleLastUserOverflow ()
void pop ()
PMDataManagertop ()
void push (PMDataManager *PM)
bool empty ()
void dump ()

Detailed Description

PMStack Top level pass managers (see PassManager.cpp) maintain active Pass Managers using PMStack. Each Pass implements assignPassManager() to connect itself with appropriate manager. assignPassManager() walks PMStack to find suitable manager.

PMStack is just a wrapper around standard deque that overrides pop() and push() methods.

Definition at line 126 of file PassManagers.h.


Member Typedef Documentation

typedef std::deque<PMDataManager *>::reverse_iterator llvm::PMStack::iterator
 

Definition at line 128 of file PassManagers.h.


Member Function Documentation

iterator llvm::PMStack::begin  )  [inline]
 

Definition at line 129 of file PassManagers.h.

Referenced by llvm::PMDataManager::populateInheritedAnalysis().

void PMStack::dump  ) 
 

Definition at line 1559 of file PassManager.cpp.

References llvm::Pass::getPassName().

bool llvm::PMStack::empty  )  [inline]
 

Definition at line 137 of file PassManagers.h.

Referenced by llvm::BasicBlockPass::assignPassManager(), llvm::FunctionPass::assignPassManager(), llvm::ModulePass::assignPassManager(), llvm::LoopPass::assignPassManager(), llvm::CallGraphSCCPass::assignPassManager(), llvm::LoopPass::preparePassManager(), and push().

iterator llvm::PMStack::end  )  [inline]
 

Definition at line 130 of file PassManagers.h.

Referenced by llvm::PMDataManager::populateInheritedAnalysis().

void llvm::PMStack::handleLastUserOverflow  ) 
 

void PMStack::pop  ) 
 

Definition at line 1529 of file PassManager.cpp.

References llvm::PMDataManager::initializeAnalysisInfo(), and top().

Referenced by llvm::FunctionPass::assignPassManager(), llvm::ModulePass::assignPassManager(), llvm::LoopPass::assignPassManager(), llvm::CallGraphSCCPass::assignPassManager(), and llvm::LoopPass::preparePassManager().

void PMStack::push PMDataManager PM  ) 
 

Definition at line 1538 of file PassManager.cpp.

References llvm::PMTopLevelManager::addIndirectPassManager(), empty(), llvm::PMDataManager::getTopLevelManager(), llvm::PMDataManager::setTopLevelManager(), and top().

Referenced by llvm::BasicBlockPass::assignPassManager(), llvm::FunctionPass::assignPassManager(), llvm::LoopPass::assignPassManager(), llvm::CallGraphSCCPass::assignPassManager(), and llvm::PMTopLevelManager::PMTopLevelManager().

PMDataManager* llvm::PMStack::top  )  [inline]
 

Definition at line 135 of file PassManagers.h.

Referenced by llvm::BasicBlockPass::assignPassManager(), llvm::FunctionPass::assignPassManager(), llvm::ModulePass::assignPassManager(), llvm::LoopPass::assignPassManager(), llvm::CallGraphSCCPass::assignPassManager(), pop(), llvm::LoopPass::preparePassManager(), and push().


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


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