LLVM API Documentation

llvm::DominanceFrontier Class Reference

#include <Dominators.h>

Inheritance diagram for llvm::DominanceFrontier:

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

Collaboration graph
[legend]

List of all members.

Public Member Functions

 DominanceFrontier ()
BasicBlockgetRoot () const
virtual bool runOnFunction (Function &)
virtual void getAnalysisUsage (AnalysisUsage &AU) const
void splitBlock (BasicBlock *BB)
void changeImmediateDominator (BasicBlock *BB, BasicBlock *NewBB, DominatorTree *DT)
const DomSetTypecalculate (const DominatorTree &DT, const DomTreeNode *Node)

Static Public Attributes

static char ID = 0


Detailed Description

DominanceFrontier Class - Concrete subclass of DominanceFrontierBase that is used to compute a forward dominator frontiers.

Definition at line 1029 of file Dominators.h.


Constructor & Destructor Documentation

llvm::DominanceFrontier::DominanceFrontier (  )  [inline]

Definition at line 1032 of file Dominators.h.


Member Function Documentation

BasicBlock* llvm::DominanceFrontier::getRoot (  )  const [inline]

Definition at line 1035 of file Dominators.h.

References llvm::DominanceFrontierBase::Roots.

virtual bool llvm::DominanceFrontier::runOnFunction ( Function F  )  [inline, virtual]

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

Implements llvm::FunctionPass.

Definition at line 1040 of file Dominators.h.

References calculate(), DT, llvm::DominanceFrontierBase::Frontiers, llvm::DominatorTree::getRoots(), and llvm::DominanceFrontierBase::Roots.

virtual void llvm::DominanceFrontier::getAnalysisUsage ( AnalysisUsage  )  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 1049 of file Dominators.h.

References llvm::AnalysisUsage::addRequired(), and llvm::AnalysisUsage::setPreservesAll().

void DominanceFrontier::splitBlock ( BasicBlock BB  ) 

void llvm::DominanceFrontier::changeImmediateDominator ( BasicBlock BB,
BasicBlock NewBB,
DominatorTree DT 
) [inline]

BasicBlock BB's new dominator is NewBB. Update BB's dominance frontier to reflect this change.

Definition at line 1060 of file Dominators.h.

References llvm::DominatorTree::dominates(), llvm::DominanceFrontierBase::end(), and llvm::DominanceFrontierBase::find().

const DominanceFrontier::DomSetType & DominanceFrontier::calculate ( const DominatorTree DT,
const DomTreeNode Node 
)


Member Data Documentation

char DominanceFrontier::ID = 0 [static]

Definition at line 1031 of file Dominators.h.


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.