Displaying 3 results from an estimated 3 matches for "basicblockgraph".
2010 Apr 07
2
[LLVMdev] graph abstraction proposal
...only one, othewise NULL
child_begin(NodeType* node); // iterators for children of a node
child_end(NodeType* node);
nodes_begin(); // iterators for the nodes of a node
nodes_end();
A concrete graph needs a constructor that stores a reference to the data
that is to look like a graph.
e.g.
struct BasicBlockGraph
{
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.
s...
2010 Apr 08
0
[LLVMdev] graph abstraction proposal
...node); // iterators for children of a node
> child_end(NodeType* node);
>
> nodes_begin(); // iterators for the nodes of a node
> nodes_end();
>
>
> A concrete graph needs a constructor that stores a reference to the data
> that is to look like a graph.
> e.g.
> struct BasicBlockGraph
> {
> 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);}
>
> ...
> };...
2010 Apr 09
0
[LLVMdev] graph abstraction proposal
...node); // iterators for children of a node
> child_end(NodeType* node);
>
> nodes_begin(); // iterators for the nodes of a node
> nodes_end();
>
>
> A concrete graph needs a constructor that stores a reference to the data
> that is to look like a graph.
> e.g.
> struct BasicBlockGraph
> {
> 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);}
>
>...