libFirm
|
Out-Edges are the reverse of the edges in a firm graph (also called def-use edges) More...
Functions | |
unsigned | get_irn_n_outs (const ir_node *node) |
Returns the number of successors of the node: More... | |
ir_node * | get_irn_out (const ir_node *def, unsigned pos) |
Returns the User of a node from the Def-Use edge at position pos. More... | |
ir_node * | get_irn_out_ex (const ir_node *def, unsigned pos, int *in_pos) |
Returns the User and its input position from the Def-Use edge of def at position pos. More... | |
unsigned | get_Block_n_cfg_outs (const ir_node *node) |
Returns the number of control flow successors, ignore keep-alives. More... | |
unsigned | get_Block_n_cfg_outs_ka (const ir_node *node) |
Returns the number of control flow successors, honor keep-alives. More... | |
ir_node * | get_Block_cfg_out (const ir_node *node, unsigned pos) |
Access predecessor n, ignore keep-alives. More... | |
ir_node * | get_Block_cfg_out_ex (const ir_node *node, unsigned pos, int *in_pos) |
Access predecessor n, ignore keep-alives also return its input position. More... | |
ir_node * | get_Block_cfg_out_ka (const ir_node *node, unsigned pos) |
Access predecessor n, honor keep-alives. More... | |
void | irg_out_walk (ir_node *node, irg_walk_func *pre, irg_walk_func *post, void *env) |
Walks over the graph starting at node. More... | |
void | irg_out_block_walk (ir_node *node, irg_walk_func *pre, irg_walk_func *post, void *env) |
Walks only over Block nodes in the graph. More... | |
void | compute_irg_outs (ir_graph *irg) |
Computes the out edges. More... | |
void | assure_irg_outs (ir_graph *irg) |
Recomputes out edges if necessary. More... | |
void | free_irg_outs (ir_graph *irg) |
Frees memory occupied by out edges data structures. More... | |
Out-Edges are the reverse of the edges in a firm graph (also called def-use edges)
void assure_irg_outs | ( | ir_graph * | irg | ) |
Recomputes out edges if necessary.
void compute_irg_outs | ( | ir_graph * | irg | ) |
Computes the out edges.
Sets a flag in irg to "outs_consistent". If the graph is changed this flag must be set to "outs_inconsistent". Computes out edges from block to floating nodes even if graph is in state "op_pin_state_floats".
void free_irg_outs | ( | ir_graph * | irg | ) |
Frees memory occupied by out edges data structures.
Access predecessor n, ignore keep-alives.
Access predecessor n, ignore keep-alives also return its input position.
Access predecessor n, honor keep-alives.
unsigned get_Block_n_cfg_outs | ( | const ir_node * | node | ) |
Returns the number of control flow successors, ignore keep-alives.
unsigned get_Block_n_cfg_outs_ka | ( | const ir_node * | node | ) |
Returns the number of control flow successors, honor keep-alives.
unsigned get_irn_n_outs | ( | const ir_node * | node | ) |
Returns the number of successors of the node:
Returns the User of a node from the Def-Use edge at position pos.
Returns the User and its input position from the Def-Use edge of def at position pos.
void irg_out_block_walk | ( | ir_node * | node, |
irg_walk_func * | pre, | ||
irg_walk_func * | post, | ||
void * | env | ||
) |
Walks only over Block nodes in the graph.
Has its own visited flag, so that it can be interleaved with the other walker. node must be either op_Block or mode_X.
void irg_out_walk | ( | ir_node * | node, |
irg_walk_func * | pre, | ||
irg_walk_func * | post, | ||
void * | env | ||
) |
Walks over the graph starting at node.
Walks also if graph is in state "outs_inconsistent".