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

#include <Dominators.h>

Inheritance diagram for llvm::DominanceFrontierBase:

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef std::set< BasicBlock * > DomSetType
typedef std::map< BasicBlock *,
DomSetType
DomSetMapType
typedef DomSetMapType::iterator iterator
typedef DomSetMapType::const_iterator const_iterator

Public Member Functions

 DominanceFrontierBase (bool isPostDom)
virtual void releaseMemory ()
iterator begin ()
const_iterator begin () const
iterator end ()
const_iterator end () const
iterator find (BasicBlock *B)
const_iterator find (BasicBlock *B) const
void addBasicBlock (BasicBlock *BB, const DomSetType &frontier)
void addToFrontier (iterator I, BasicBlock *Node)
void removeFromFrontier (iterator I, BasicBlock *Node)
virtual void print (std::ostream &OS) const

Protected Attributes

DomSetMapType Frontiers

Detailed Description

DominanceFrontier - Calculate the dominance frontiers for a function.

Definition at line 440 of file Dominators.h.


Member Typedef Documentation

typedef DomSetMapType::const_iterator llvm::DominanceFrontierBase::const_iterator
 

Definition at line 452 of file Dominators.h.

typedef std::map<BasicBlock*, DomSetType> llvm::DominanceFrontierBase::DomSetMapType
 

Definition at line 442 of file Dominators.h.

typedef std::set<BasicBlock*> llvm::DominanceFrontierBase::DomSetType
 

Definition at line 441 of file Dominators.h.

typedef DomSetMapType::iterator llvm::DominanceFrontierBase::iterator
 

Definition at line 451 of file Dominators.h.


Constructor & Destructor Documentation

llvm::DominanceFrontierBase::DominanceFrontierBase bool  isPostDom  )  [inline]
 

Definition at line 446 of file Dominators.h.


Member Function Documentation

void llvm::DominanceFrontierBase::addBasicBlock BasicBlock BB,
const DomSetType frontier
[inline]
 

Definition at line 460 of file Dominators.h.

References end(), find(), and Frontiers.

void llvm::DominanceFrontierBase::addToFrontier iterator  I,
BasicBlock Node
[inline]
 

Definition at line 465 of file Dominators.h.

References end().

const_iterator llvm::DominanceFrontierBase::begin  )  const [inline]
 

Definition at line 454 of file Dominators.h.

References Frontiers.

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

Definition at line 453 of file Dominators.h.

References Frontiers.

Referenced by print().

const_iterator llvm::DominanceFrontierBase::end  )  const [inline]
 

Definition at line 456 of file Dominators.h.

References Frontiers.

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

Definition at line 455 of file Dominators.h.

References Frontiers.

Referenced by addBasicBlock(), addToFrontier(), print(), and removeFromFrontier().

const_iterator llvm::DominanceFrontierBase::find BasicBlock B  )  const [inline]
 

Definition at line 458 of file Dominators.h.

References Frontiers.

iterator llvm::DominanceFrontierBase::find BasicBlock B  )  [inline]
 

Definition at line 457 of file Dominators.h.

References Frontiers.

Referenced by addBasicBlock().

void DominanceFrontierBase::print std::ostream &  OS  )  const [virtual]
 

print - Convert to human readable form

Reimplemented from llvm::Pass.

Definition at line 458 of file Dominators.cpp.

References begin(), E, end(), and llvm::WriteAsOperand().

virtual void llvm::DominanceFrontierBase::releaseMemory  )  [inline, virtual]
 

releaseMemory() - This member can be implemented by a pass if it wants to be able to release its memory when it is no longer needed. The default behavior of passes is to hold onto memory for the entire duration of their lifetime (which is the entire compile time). For pipelined passes, this is not a big deal because that memory gets recycled every time the pass is invoked on another program unit. For IP passes, it is more important to free memory when it is unused.

Optionally implement this function to release pass memory when it is no longer used.

Reimplemented from llvm::Pass.

Definition at line 448 of file Dominators.h.

References Frontiers.

void llvm::DominanceFrontierBase::removeFromFrontier iterator  I,
BasicBlock Node
[inline]
 

Definition at line 470 of file Dominators.h.

References end().


Member Data Documentation

DomSetMapType llvm::DominanceFrontierBase::Frontiers [protected]
 

Definition at line 444 of file Dominators.h.

Referenced by addBasicBlock(), begin(), end(), find(), releaseMemory(), llvm::PostDominanceFrontier::runOnFunction(), and llvm::DominanceFrontier::runOnFunction().


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