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::PostDominatorTree Struct Reference

#include <PostDominators.h>

Inheritance diagram for llvm::PostDominatorTree:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 PostDominatorTree ()
 ~PostDominatorTree ()
virtual bool runOnFunction (Function &F)
virtual void getAnalysisUsage (AnalysisUsage &AU) const
const std::vector< BasicBlock * > & getRoots () const
DomTreeNodegetRootNode () const
DomTreeNodeoperator[] (BasicBlock *BB) const
bool properlyDominates (const DomTreeNode *A, DomTreeNode *B) const
bool properlyDominates (BasicBlock *A, BasicBlock *B) const
virtual void print (std::ostream &OS, const Module *M=0) const

Public Attributes

DominatorTreeBase< BasicBlock > * DT

Static Public Attributes

char ID = 0

Detailed Description

PostDominatorTree Class - Concrete subclass of DominatorTree that is used to compute the a post-dominator tree.

Definition at line 24 of file PostDominators.h.


Constructor & Destructor Documentation

llvm::PostDominatorTree::PostDominatorTree  )  [inline]
 

Definition at line 28 of file PostDominators.h.

PostDominatorTree::~PostDominatorTree  ) 
 

Definition at line 40 of file PostDominators.cpp.


Member Function Documentation

virtual void llvm::PostDominatorTree::getAnalysisUsage AnalysisUsage AU  )  const [inline, virtual]
 

getAnalysisUsage - This function should be overriden by passes that need analysis information to do their job. If a pass specifies that it uses a particular analysis result to this function, it can then use the getAnalysis<AnalysisType>() function, below.

Reimplemented from llvm::Pass.

Definition at line 36 of file PostDominators.h.

References llvm::AnalysisUsage::setPreservesAll().

DomTreeNode* llvm::PostDominatorTree::getRootNode  )  const [inline]
 

Definition at line 44 of file PostDominators.h.

References llvm::DomTreeNode.

Referenced by llvm::PostDominanceFrontier::runOnFunction().

const std::vector<BasicBlock*>& llvm::PostDominatorTree::getRoots  )  const [inline]
 

Definition at line 40 of file PostDominators.h.

Referenced by llvm::PostDominanceFrontier::runOnFunction().

DomTreeNode* llvm::PostDominatorTree::operator[] BasicBlock BB  )  const [inline]
 

Definition at line 48 of file PostDominators.h.

References llvm::DomTreeNode.

virtual void llvm::PostDominatorTree::print std::ostream &  OS,
const Module M = 0
const [inline, virtual]
 

print - Print out the internal state of the pass. This is called by Analyze to print out the contents of an analysis. Otherwise it is not necessary to implement this method. Beware that the module pointer MAY be null. This automatically forwards to a virtual function that does not provide the Module* in case the analysis doesn't need it it can just be ignored.

Reimplemented from llvm::Pass.

Definition at line 60 of file PostDominators.h.

bool llvm::PostDominatorTree::properlyDominates BasicBlock A,
BasicBlock B
const [inline]
 

Definition at line 56 of file PostDominators.h.

bool llvm::PostDominatorTree::properlyDominates const DomTreeNode A,
DomTreeNode B
const [inline]
 

Definition at line 52 of file PostDominators.h.

References llvm::DomTreeNode.

bool PostDominatorTree::runOnFunction Function F  )  [virtual]
 

runOnFunction - Virtual method overriden by subclasses to do the per-function processing of the pass.

Implements llvm::FunctionPass.

Definition at line 34 of file PostDominators.cpp.

References DEBUG, DT, llvm::DominatorTreeBase< NodeT >::dump(), F, and llvm::DominatorTreeBase< NodeT >::recalculate().


Member Data Documentation

DominatorTreeBase<BasicBlock>* llvm::PostDominatorTree::DT
 

Definition at line 26 of file PostDominators.h.

Referenced by runOnFunction().

char PostDominatorTree::ID = 0 [static]
 

Definition at line 29 of file PostDominators.cpp.


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


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