libFirm 1.20
|
Out-Edges are the reverse of the edges in a firm graph (also called def-use edges) More...
Functions | |
int | get_irn_n_outs (const ir_node *node) |
Returns the number of successors of the node: | |
ir_node * | get_irn_out (const ir_node *def, int pos) |
Returns the User of a node from the Def-Use edge at position pos. | |
ir_node * | get_irn_out_ex (const ir_node *def, int pos, int *in_pos) |
Returns the User and its input position from the Def-Use edge of def at position pos. | |
void | set_irn_out (ir_node *def, int pos, ir_node *use, int in_pos) |
Sets the User at position pos. | |
int | get_Block_n_cfg_outs (const ir_node *node) |
Returns the number of control flow successors, ignore keep-alives. | |
int | get_Block_n_cfg_outs_ka (const ir_node *node) |
Returns the number of control flow successors, honor keep-alives. | |
ir_node * | get_Block_cfg_out (const ir_node *node, int pos) |
Access predecessor n, ignore keep-alives. | |
ir_node * | get_Block_cfg_out_ka (const ir_node *node, int pos) |
Access predecessor n, honor keep-alives. | |
void | irg_out_walk (ir_node *node, irg_walk_func *pre, irg_walk_func *post, void *env) |
Walks over the graph starting at node. | |
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. | |
int | get_irn_outs_computed (const ir_node *node) |
Returns 1 if outs have been computed for a node, 0 otherwise. | |
void | compute_irg_outs (ir_graph *irg) |
Computes the out edges. | |
void | compute_irp_outs (void) |
Recomputes out edges for each graph where it is necessary. | |
void | assure_irg_outs (ir_graph *irg) |
Recomputes out edges if necessary. | |
void | free_irg_outs (ir_graph *irg) |
Frees memory occupied by out edges datastructures. | |
void | free_irp_outs (void) |
Frees memory occupied by out edges datastructures in the whole program. |
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". Optimizes Tuple nodes.
void compute_irp_outs | ( | void | ) |
Recomputes out edges for each graph where it is necessary.
void free_irg_outs | ( | ir_graph * | irg | ) |
Frees memory occupied by out edges datastructures.
void free_irp_outs | ( | void | ) |
Frees memory occupied by out edges datastructures in the whole program.
Access predecessor n, ignore keep-alives.
Access predecessor n, honor keep-alives.
int get_Block_n_cfg_outs | ( | const ir_node * | node | ) |
Returns the number of control flow successors, ignore keep-alives.
int get_Block_n_cfg_outs_ka | ( | const ir_node * | node | ) |
Returns the number of control flow successors, honor keep-alives.
int 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.
int get_irn_outs_computed | ( | const ir_node * | node | ) |
Returns 1 if outs have been computed for a node, 0 otherwise.
this is useful to detect newly created nodes that have no outs set yet
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". Assumes current_ir_graph is set properly.