Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

LengauerTarjan Class Reference

#include <LengauerTarjan.h>

List of all members.

Public Member Functions

 LengauerTarjan (uint32_t blockCount, BasicBlock *root, BasicBlock **blocks)
 ~LengauerTarjan ()
void immediateDominators ()

Private Member Functions

void depthFirstSearch (uint32_t vertexV, uint32_t *dfsNo)
void COMPRESS (uint32_t vertexV)
uint32_t EVAL (uint32_t vertexV)
void LINK (uint32_t vertexV, uint32_t vertexW)

Private Attributes

uint32_t reachableCount
uint32_t nodeCount
uint32_t rootLoc
uint32_t * dom
uint32_t * parent
uint32_t * ancestor
uint32_t * child
uint32_t * vertex
uint32_t * label
uint32_t * semi
uint32_t * size
LinkedList< uint32_t > * bucket
BasicBlock ** locToBasicBlock
uint32_t * basicBlockToLoc


Constructor & Destructor Documentation

LengauerTarjan::LengauerTarjan uint32_t  blockCount,
BasicBlock root,
BasicBlock **  blocks
 

Definition at line 127 of file LengauerTarjan.C.

References ancestor, ASSERT, basicBlockToLoc, bucket, child, dom, BasicBlock::getIndex(), BasicBlock::isNoPath(), label, locToBasicBlock, nodeCount, parent, reachableCount, rootLoc, semi, size, and vertex.

LengauerTarjan::~LengauerTarjan  ) 
 

Definition at line 173 of file LengauerTarjan.C.

References ancestor, basicBlockToLoc, bucket, child, dom, label, locToBasicBlock, parent, semi, size, and vertex.


Member Function Documentation

void LengauerTarjan::COMPRESS uint32_t  vertexV  )  [private]
 

Definition at line 80 of file LengauerTarjan.C.

References ancestor, label, and semi.

Referenced by EVAL().

void LengauerTarjan::depthFirstSearch uint32_t  vertexV,
uint32_t *  dfsNo
[private]
 

Definition at line 17 of file LengauerTarjan.C.

References ancestor, ASSERT, basicBlockToLoc, child, LinkedList< T >::empty(), BasicBlock::getIndex(), BasicBlock::getNumOfTargets(), BasicBlock::getTargetBlock(), LinkedList< T >::insert(), BasicBlock::isNoPath(), label, locToBasicBlock, parent, PRINT_DEBUG, semi, LinkedList< T >::shift(), size, and vertex.

Referenced by immediateDominators().

uint32_t LengauerTarjan::EVAL uint32_t  vertexV  )  [private]
 

Definition at line 90 of file LengauerTarjan.C.

References ancestor, COMPRESS(), label, and semi.

Referenced by immediateDominators().

void LengauerTarjan::immediateDominators  ) 
 

Definition at line 187 of file LengauerTarjan.C.

References ASSERT, basicBlockToLoc, bucket, depthFirstSearch(), dom, LinkedList< T >::empty(), EVAL(), BasicBlock::getIndex(), BasicBlock::getNumOfSources(), BasicBlock::getSourceBlock(), BasicBlock::isNoPath(), label, LINK(), locToBasicBlock, nodeCount, parent, PRINT_DEBUG, reachableCount, rootLoc, semi, BasicBlock::setImmDominator(), LinkedList< T >::shift(), size, and vertex.

Referenced by FlowGraph::setImmDominatorBlocks().

void LengauerTarjan::LINK uint32_t  vertexV,
uint32_t  vertexW
[private]
 

Definition at line 101 of file LengauerTarjan.C.

References ancestor, child, label, semi, and size.

Referenced by immediateDominators().


Member Data Documentation

uint32_t* LengauerTarjan::ancestor [private]
 

Definition at line 16 of file LengauerTarjan.h.

Referenced by COMPRESS(), depthFirstSearch(), EVAL(), LengauerTarjan(), LINK(), and ~LengauerTarjan().

uint32_t* LengauerTarjan::basicBlockToLoc [private]
 

Definition at line 26 of file LengauerTarjan.h.

Referenced by depthFirstSearch(), immediateDominators(), LengauerTarjan(), and ~LengauerTarjan().

LinkedList<uint32_t>* LengauerTarjan::bucket [private]
 

Definition at line 23 of file LengauerTarjan.h.

Referenced by immediateDominators(), LengauerTarjan(), and ~LengauerTarjan().

uint32_t* LengauerTarjan::child [private]
 

Definition at line 17 of file LengauerTarjan.h.

Referenced by depthFirstSearch(), LengauerTarjan(), LINK(), and ~LengauerTarjan().

uint32_t* LengauerTarjan::dom [private]
 

Definition at line 14 of file LengauerTarjan.h.

Referenced by immediateDominators(), LengauerTarjan(), and ~LengauerTarjan().

uint32_t* LengauerTarjan::label [private]
 

Definition at line 19 of file LengauerTarjan.h.

Referenced by COMPRESS(), depthFirstSearch(), EVAL(), immediateDominators(), LengauerTarjan(), LINK(), and ~LengauerTarjan().

BasicBlock** LengauerTarjan::locToBasicBlock [private]
 

Definition at line 25 of file LengauerTarjan.h.

Referenced by depthFirstSearch(), immediateDominators(), LengauerTarjan(), and ~LengauerTarjan().

uint32_t LengauerTarjan::nodeCount [private]
 

Definition at line 11 of file LengauerTarjan.h.

Referenced by immediateDominators(), and LengauerTarjan().

uint32_t* LengauerTarjan::parent [private]
 

Definition at line 15 of file LengauerTarjan.h.

Referenced by depthFirstSearch(), immediateDominators(), LengauerTarjan(), and ~LengauerTarjan().

uint32_t LengauerTarjan::reachableCount [private]
 

Definition at line 10 of file LengauerTarjan.h.

Referenced by immediateDominators(), and LengauerTarjan().

uint32_t LengauerTarjan::rootLoc [private]
 

Definition at line 12 of file LengauerTarjan.h.

Referenced by immediateDominators(), and LengauerTarjan().

uint32_t* LengauerTarjan::semi [private]
 

Definition at line 20 of file LengauerTarjan.h.

Referenced by COMPRESS(), depthFirstSearch(), EVAL(), immediateDominators(), LengauerTarjan(), LINK(), and ~LengauerTarjan().

uint32_t* LengauerTarjan::size [private]
 

Definition at line 21 of file LengauerTarjan.h.

Referenced by depthFirstSearch(), immediateDominators(), LengauerTarjan(), LINK(), and ~LengauerTarjan().

uint32_t* LengauerTarjan::vertex [private]
 

Definition at line 18 of file LengauerTarjan.h.

Referenced by depthFirstSearch(), immediateDominators(), LengauerTarjan(), and ~LengauerTarjan().


The documentation for this class was generated from the following files:
Generated on Mon Jan 28 11:08:39 2008 for PMaCInstrumentor by doxygen 1.3.5