DominatorTreesAndDominanceFrontiers::TemplatedDominatorTree
TemplatedDominatorTree constructs a dominator/postdominator tree for a cfg. For the template parameter any cfg following Jeremias interface may be used
Synopsis
Declared in <src/midend/programAnalysis/dominanceAnalysis/DominatorTree.h>
template<typename CFGFilterFunction>
class TemplatedDominatorTree
: public DominatorForwardBackwardWrapperClass<CFGFilterFunction>
Base Classes
Name |
Description |
This class provides a uniform view of the CFG dissregarding the direction of the CFG‐traversal (forward/backward) |
Member Functions
Name |
Description |
|
constructor for the DT. Head is the start point for the DT construction. DT works for SgFunctionDefintion nodes, unexpected behaviour for non‐SgFunctionDefinition!!! |
|
|
returns the set of nodes directly dominated by nodeID |
|
get the ImDomID for given SgNode, returns negative for non‐cfg‐node |
|
writes the DT in DOT‐notation to the file given in filename |
Private Member Functions
Name |
Description |
calculate immediate dominators |
|
create the dfs‐order of the cfg |
|
helperfunction according to lingauer&tarjan |
|
inits the internal structures for idom calculation |
|
create the forrest of parents |
|
debug output |