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

Loop Class Reference

#include <Loop.h>

Inheritance diagram for Loop:

Base List of all members.

Public Member Functions

 Loop (BasicBlock *h, BasicBlock *t, FlowGraph *cfg, BitSet< BasicBlock * > *newBlocks)
 ~Loop ()
BasicBlockgetHead ()
BasicBlockgetTail ()
uint32_t getNumberOfBlocks ()
uint32_t getAllBlocks (BasicBlock **arr)
bool isBlockIn (uint32_t idx)
bool isInnerLoop (Loop *loop)
bool isIdenticalLoop (Loop *loop)
void print ()
void setIndex (uint32_t idx)
uint32_t getIndex ()

Protected Attributes

uint32_t index
FlowGraphflowGraph
BitSet< BasicBlock * > * blocks
BasicBlockhead
BasicBlocktail

Constructor & Destructor Documentation

Loop::Loop BasicBlock h,
BasicBlock t,
FlowGraph cfg,
BitSet< BasicBlock * > *  newBlocks
 

Definition at line 9 of file Loop.C.

References blocks, BitSet< BasicBlock * >::clear(), BitSet< T >::contains(), flowGraph, head, index, BitSet< BasicBlock * >::insert(), Invalid_UInteger_ID, and tail.

Loop::~Loop  ) 
 

Definition at line 5 of file Loop.C.

References blocks.


Member Function Documentation

uint32_t Loop::getAllBlocks BasicBlock **  arr  ) 
 

Definition at line 35 of file Loop.C.

References ASSERT, blocks, BitSet< BasicBlock * >::contains(), flowGraph, FlowGraph::getBlock(), FlowGraph::getNumOfBasicBlocks(), and BitSet< BasicBlock * >::size().

Referenced by CacheSimulator::selectInstrumentationPoints().

BasicBlock* Loop::getHead  )  [inline]
 

Definition at line 18 of file Loop.h.

References head.

Referenced by compareLoopHeaderVaddr().

uint32_t Loop::getIndex  )  [inline]
 

Definition at line 27 of file Loop.h.

References index.

Referenced by print(), and CommonMethods::printInstrumentationPoints().

uint32_t Loop::getNumberOfBlocks  )  [inline]
 

Definition at line 20 of file Loop.h.

References blocks, and BitSet< BasicBlock * >::size().

Referenced by CacheSimulator::selectInstrumentationPoints().

BasicBlock* Loop::getTail  )  [inline]
 

Definition at line 19 of file Loop.h.

References tail.

bool Loop::isBlockIn uint32_t  idx  )  [inline]
 

Definition at line 22 of file Loop.h.

References blocks, and BitSet< BasicBlock * >::contains().

Referenced by isIdenticalLoop(), isInnerLoop(), CommonMethods::printInstrumentationPoints(), and CacheSimulator::selectInstrumentationPoints().

bool Loop::isIdenticalLoop Loop loop  ) 
 

Definition at line 55 of file Loop.C.

References flowGraph, FlowGraph::getNumOfBasicBlocks(), and isBlockIn().

bool Loop::isInnerLoop Loop loop  ) 
 

Definition at line 46 of file Loop.C.

References flowGraph, FlowGraph::getNumOfBasicBlocks(), and isBlockIn().

Referenced by FlowGraph::printInnerLoops().

void Loop::print  )  [virtual]
 

Reimplemented from Base.

Definition at line 23 of file Loop.C.

References blocks, BitSet< BasicBlock * >::contains(), flowGraph, BasicBlock::getBaseAddress(), BasicBlock::getIndex(), FlowGraph::getIndex(), getIndex(), FlowGraph::getNumOfBasicBlocks(), head, PRINT_INFOR, and tail.

Referenced by FlowGraph::buildLoops(), and FlowGraph::print().

void Loop::setIndex uint32_t  idx  )  [inline]
 

Definition at line 26 of file Loop.h.

References index.

Referenced by FlowGraph::buildLoops().


Member Data Documentation

BitSet<BasicBlock*>* Loop::blocks [protected]
 

Definition at line 12 of file Loop.h.

Referenced by getAllBlocks(), getNumberOfBlocks(), isBlockIn(), Loop(), print(), and ~Loop().

FlowGraph* Loop::flowGraph [protected]
 

Definition at line 11 of file Loop.h.

Referenced by getAllBlocks(), isIdenticalLoop(), isInnerLoop(), Loop(), and print().

BasicBlock* Loop::head [protected]
 

Definition at line 13 of file Loop.h.

Referenced by getHead(), Loop(), and print().

uint32_t Loop::index [protected]
 

Definition at line 10 of file Loop.h.

Referenced by getIndex(), Loop(), and setIndex().

BasicBlock* Loop::tail [protected]
 

Definition at line 14 of file Loop.h.

Referenced by getTail(), Loop(), and print().


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