|
|
| BasicBlockGraph () |
| | Constructor.
|
| |
|
void | clear () |
| | Initializes the BB graph (empty).
|
| |
| int | numBasicBlocks () const |
| |
| int | numArcs () const |
| |
| bool | empty () const |
| |
| bbID | createBasicBlock () |
| | Adds a new BB to the BB graph. More...
|
| |
| void | setEntryBasicBlock (bbID bb) |
| | Defines the entry BB. More...
|
| |
| bbID | getEntryBasicBlock () const |
| |
|
setBBs & | getExitBasicBlocks () |
| |
|
void | addExitBasicBlock (bbID bb) |
| |
|
bool | isEntryBasicBlock (bbID bb) |
| |
|
bool | isExitBasicBlock (bbID bb) |
| |
| bbArcID | findArc (bbID src, bbID dst) const |
| | Returns the arc between two BBs. More...
|
| |
| bbArcID | findOrAddArc (bbID src, bbID dst, double freq=0) |
| | Creates an arc between two BBs (if it did not exist) More...
|
| |
| bbID | getSrcBB (bbArcID arc) const |
| | Returns the src BB of an arc. More...
|
| |
| bbID | getDstBB (bbArcID arc) const |
| | Returns the dst BB of an arc. More...
|
| |
| void | setProbability (bbArcID arc, double prob) |
| | Defines the probability of an arc. More...
|
| |
| double | getProbability (bbArcID arc) const |
| | Returns the probability of an arc. More...
|
| |
|
void | setFrequencyArc (bbArcID arc, double freq) |
| |
|
double | getFrequencyArc (bbArcID arc) const |
| |
| bool | calculateBackArcs () |
| | Calculates the back edges using a DFS traversal from the entry basic block. More...
|
| |
| void | setBackArc (bbArcID arc, bool back=true) |
| | Defines whether an arc is forward or backward. More...
|
| |
| bool | isBackArc (bbArcID arc) const |
| | Checks whether an arc is forward or backward. More...
|
| |
| setBBArcs & | predecessors (bbID bb) |
| | Returns the set of predecessor arcs. More...
|
| |
| setBBArcs & | successors (bbID bb) |
| | Returns the set of successor arcs. More...
|
| |
| void | setFrequency (bbID bb, double f) |
| | Sets de execution frequency of a BB. More...
|
| |
| double | getFrequency (bbID bb) const |
| | Returns the execution frequency of a BB. More...
|
| |
| void | setExecTime (bbID bb, double t) |
| | Sets the execution time of a BB. More...
|
| |
| double | getExecTime (bbID bb) const |
| | Retgurns the execution time of a BB. More...
|
| |
|
double | isEntryBB (bbID bb) |
| |
|
double | getDFSorder (bbID bb) |
| |
|
void | setDFSorder (bbID bb, int order) |
| |
|
double | getSCCnumber (bbID bb) |
| |
|
void | setSCCnumber (bbID bb, int number) |
| |
| bool | calculateBasicBlockFrequencies (double back_prob=0.9) |
| | If the BB frequencies are already define, nothing is done. Otherwise, the BB frequencies are calculated treating the graph as a Markov chain. It considers that the frequency of the entry point is 1. If the probabilities of the arcs are not defined, some default values are set, considering that back arcs have a higher probability. More...
|
| |
| double | extractBasicBlockCycles (double coverage=-1.0) |
| | Extracts a set of Basic Block cycles that maximizes the covered execution time. More...
|
| |
|
void | DFS () |
| |
|
void | computeSCC () |
| |
|
void | setDSUnumberArc (bbArcID arc, int number) |
| |
|
void | addMGnumber (bbArcID arc, int number) |
| |
|
int | getDSUnumberArc (bbArcID arc) |
| |
|
vector< int > & | getMGnumbers (bbArcID arc) |
| |
|
std::vector< bbID > & | getBlocksInCycle (int cycle_number) |
| |
|
int | getCycleNum () |
| |