| libFirm
    | 
Public header for the automatically updating outs. More...
Go to the source code of this file.
| Macros | |
| #define | foreach_out_edge_kind(irn, edge, kind) for (ir_edge_t const *edge = get_irn_out_edge_first_kind(irn, kind); edge; edge = get_irn_out_edge_next(irn, edge)) | 
| A convenience iteration macro over all out edges of a node. | |
| #define | foreach_out_edge_kind_safe(irn, edge, kind) | 
| A convenience iteration macro over all out edges of a node, which is safe against alteration of the current edge. | |
| #define | foreach_out_edge(irn, edge) foreach_out_edge_kind(irn, edge, EDGE_KIND_NORMAL) | 
| Convenience macro for normal out edges. | |
| #define | foreach_out_edge_safe(irn, edge) foreach_out_edge_kind_safe(irn, edge, EDGE_KIND_NORMAL) | 
| Convenience macro for normal out edges. | |
| #define | foreach_block_succ(bl, edge) foreach_out_edge_kind(bl, edge, EDGE_KIND_BLOCK) | 
| A convenience iteration macro for all control flow edges. | |
| #define | edges_reroute(old, nw) edges_reroute_kind(old, nw, EDGE_KIND_NORMAL) | 
| Convenience version of edges_reroute_kind() with EDGE_KIND_NORMAL. | |
| #define | edges_activated(irg) (edges_activated_kind(irg, EDGE_KIND_NORMAL) && edges_activated_kind(irg, EDGE_KIND_BLOCK)) | 
| Conventience version of edges_activated_kind() for EDGE_KIND_NORMAL and EDGE_KIND_BLOCK. | |
| #define | get_irn_n_edges(irn) get_irn_n_edges_kind(irn, EDGE_KIND_NORMAL) | 
| Conventience version of get_irn_n_edges_kind() with EDGE_KIND_NORMAL. | |
| #define | get_irn_out_edge_first(irn) get_irn_out_edge_first_kind(irn, EDGE_KIND_NORMAL) | 
| Convenience version of get_irn_out_edge_first_kind() with EDGE_KIND_NORMAL. | |
| #define | get_block_succ_first(irn) get_irn_out_edge_first_kind(irn, EDGE_KIND_BLOCK) | 
| Convenience version of get_irn_out_edge_first_kind() with EDGE_KIND_BLOCK. | |
| #define | get_block_succ_next(irn, last) get_irn_out_edge_next(irn, last) | 
| Convenience version of get_irn_out_edge_next() with EDGE_KIND_BLOCK. | |
| Functions | |
| const ir_edge_t * | get_irn_out_edge_first_kind (const ir_node *irn, ir_edge_kind_t kind) | 
| Returns the first edge pointing to some node. | |
| const ir_edge_t * | get_irn_out_edge_next (const ir_node *irn, const ir_edge_t *last) | 
| Returns the next edge in the out list of some node. | |
| ir_node * | get_edge_src_irn (const ir_edge_t *edge) | 
| Returns the source node of an edge. | |
| int | get_edge_src_pos (const ir_edge_t *edge) | 
| Returns the position of an edge. | |
| int | get_irn_n_edges_kind (const ir_node *irn, ir_edge_kind_t kind) | 
| Returns the number of registered out edges for a specific kind. | |
| int | edges_activated_kind (const ir_graph *irg, ir_edge_kind_t kind) | 
| Checks if the out edges are activated. | |
| void | edges_activate_kind (ir_graph *irg, ir_edge_kind_t kind) | 
| Activates the edges for an irg. | |
| void | edges_deactivate_kind (ir_graph *irg, ir_edge_kind_t kind) | 
| Deactivates the edges for an irg. | |
| void | edges_reroute_kind (ir_node *old, ir_node *nw, ir_edge_kind_t kind) | 
| Reroutes edges of a specified kind from an old node to a new one. | |
| void | edges_reroute_except (ir_node *old, ir_node *nw, ir_node *exception) | 
| reroutes (normal) edges from an old node to a new node, except for the exceptionwhich keeps its input even if it is old. | |
| int | edges_verify (ir_graph *irg) | 
| Verifies the out edges of graph irg. | |
| int | edges_verify_kind (ir_graph *irg, ir_edge_kind_t kind) | 
| Verifies a certrain kind of out edges of graph irg. | |
| void | edges_init_dbg (int do_dbg) | 
| Sets edge verification flag. | |
| ir_graph_pass_t * | irg_verify_edges_pass (const char *name, unsigned assert_on_problem) | 
| Creates an ir_graph pass for edges_verify(). | |
| void | edges_activate (ir_graph *irg) | 
| Activates data and block edges for an irg. | |
| void | edges_deactivate (ir_graph *irg) | 
| Deactivates data and block edges for an irg. | |
| void | assure_edges (ir_graph *irg) | 
| Ensures that edges are activated. | |
| void | assure_edges_kind (ir_graph *irg, ir_edge_kind_t kind) | 
| Ensures that edges of a given kind are activated. | |
| void | irg_block_edges_walk (ir_node *block, irg_walk_func *pre, irg_walk_func *post, void *env) | 
| Walks only over Block nodes in the graph. | |
| void | irg_walk_edges (ir_node *start, irg_walk_func *pre, irg_walk_func *post, void *env) | 
| Graph walker following EDGE_KIND_NORMAL edges. | |
| void | edges_reset_private_data (ir_graph *irg, int offset, unsigned size) | 
| Reset the user's private data at offset 'offset' The user has to remember his offset and the size of his data! Caution: Using wrong values here can destroy other users private data! | |