search for: basicblockinversegraph

Displaying 3 results from an estimated 3 matches for "basicblockinversegraph".

2010 Apr 07
2
[LLVMdev] graph abstraction proposal
...Function& f; BasicBlockGraph(Function& f) : f(f) {} typedef BasicBlock NodeType; ... child_begin(NodeType* node) {return succ_begin(node);} child_begin(NodeType* node) {return succ_end(node);} ... }; An invese graph is just another implementation e.g. struct BasicBlockInverseGraph { ... child_begin(NodeType* node) {return pred_begin(node);} child_begin(NodeType* node) {return pred_end(node);} ... }; And finally, the goal of the whole stuff, the simplification of DominatorTreeBase::recalculate with some pseudocode: void recalculate(Graph& graph) {...
2010 Apr 08
0
[LLVMdev] graph abstraction proposal
...) : f(f) {} > > typedef BasicBlock NodeType; > > ... > child_begin(NodeType* node) {return succ_begin(node);} > child_begin(NodeType* node) {return succ_end(node);} > > ... > }; > > An invese graph is just another implementation > e.g. > struct BasicBlockInverseGraph > { > ... > > child_begin(NodeType* node) {return pred_begin(node);} > child_begin(NodeType* node) {return pred_end(node);} > > ... > }; > > > > And finally, the goal of the whole stuff, the simplification of > DominatorTreeBase::recalculate with s...
2010 Apr 09
0
[LLVMdev] graph abstraction proposal
...} > > typedef BasicBlock NodeType; > > ... > child_begin(NodeType* node) {return succ_begin(node);} > child_begin(NodeType* node) {return succ_end(node);} > > ... > }; > > An invese graph is just another implementation > e.g. > struct BasicBlockInverseGraph > { > ... > > child_begin(NodeType* node) {return pred_begin(node);} > child_begin(NodeType* node) {return pred_end(node);} > > ... > }; But here you also have to implement the inverse. Not for GraphTraits but for your Graph class. Like ether I do not u...