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

#include <PostDominators.h>

Inheritance diagram for llvm::PostDominatorSet:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 PostDominatorSet ()
virtual bool runOnFunction (Function &F)
virtual void getAnalysisUsage (AnalysisUsage &AU) const

Detailed Description

PostDominatorSet Class - Concrete subclass of DominatorSetBase that is used to compute the post-dominator set. Because there can be multiple exit nodes in an LLVM function, we calculate post dominators with a special null block which is the virtual exit node that the real exit nodes all virtually branch to. Clients should be prepared to see an entry in the dominator sets with a null BasicBlock*.

Definition at line 28 of file PostDominators.h.


Constructor & Destructor Documentation

llvm::PostDominatorSet::PostDominatorSet  )  [inline]
 

Definition at line 29 of file PostDominators.h.


Member Function Documentation

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

getAnalysisUsage - This pass does not modify the function at all.

Reimplemented from llvm::Pass.

Definition at line 35 of file PostDominators.h.

References llvm::AnalysisUsage::setPreservesAll().

bool PostDominatorSet::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 32 of file PostDominators.cpp.

References llvm::Function::begin(), llvm::DominatorSetBase::Doms, E, llvm::Function::end(), I, llvm::idf_ext_begin(), llvm::idf_ext_end(), llvm::DominatorBase::Roots, llvm::set_intersect(), llvm::succ_begin(), and llvm::succ_end().


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