libFirm
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
irgwalk.h
1 /*
2  * This file is part of libFirm.
3  * Copyright (C) 2012 University of Karlsruhe.
4  */
5 
11 #ifndef FIRM_IR_IRGWALK_H
12 #define FIRM_IR_IRGWALK_H
13 
14 #include "firm_types.h"
15 #include "begin.h"
16 
44 FIRM_API void irg_walk(ir_node *node, irg_walk_func *pre, irg_walk_func *post,
45  void *env);
46 
50 FIRM_API void irg_walk_core(ir_node *node, irg_walk_func *pre,
51  irg_walk_func *post, void *env);
52 
64 FIRM_API void irg_walk_graph(ir_graph *irg, irg_walk_func *pre,
65  irg_walk_func *post, void *env);
66 
85 FIRM_API void irg_walk_in_or_dep(ir_node *node, irg_walk_func *pre,
86  irg_walk_func *post, void *env);
87 
100 FIRM_API void irg_walk_in_or_dep_graph(ir_graph *irg, irg_walk_func *pre,
101  irg_walk_func *post, void *env);
102 
113 FIRM_API void all_irg_walk(irg_walk_func *pre, irg_walk_func *post, void *env);
114 
127 FIRM_API void irg_block_walk(ir_node *node, irg_walk_func *pre,
128  irg_walk_func *post, void *env);
129 
141 FIRM_API void irg_block_walk_graph(ir_graph *irg, irg_walk_func *pre,
142  irg_walk_func *post, void *env);
143 
154 FIRM_API void walk_const_code(irg_walk_func *pre, irg_walk_func *post,
155  void *env);
156 
173 FIRM_API void irg_walk_blkwise_graph(ir_graph *irg, irg_walk_func *pre,
174  irg_walk_func *post, void *env);
175 
193 FIRM_API void irg_walk_blkwise_dom_top_down(ir_graph *irg, irg_walk_func *pre,
194  irg_walk_func *post, void *env);
195 
206 FIRM_API void irg_walk_anchors(ir_graph *irg, irg_walk_func *pre,
207  irg_walk_func *post, void *env);
208 
213 FIRM_API void irg_walk_2(ir_node *node, irg_walk_func *pre, irg_walk_func *post,
214  void *env);
215 
218 #include "end.h"
219 
220 #endif
void irg_walk_in_or_dep_graph(ir_graph *irg, irg_walk_func *pre, irg_walk_func *post, void *env)
Walks over all reachable nodes in the ir graph.
struct ir_graph ir_graph
Procedure Graph.
Definition: firm_types.h:74
void irg_walk(ir_node *node, irg_walk_func *pre, irg_walk_func *post, void *env)
Walks over the ir graph.
void irg_walk_anchors(ir_graph *irg, irg_walk_func *pre, irg_walk_func *post, void *env)
Additionally walk over all anchors.
void irg_walk_2(ir_node *node, irg_walk_func *pre, irg_walk_func *post, void *env)
Walker function which does not increase the visited flag before walking.
void irg_walk_blkwise_graph(ir_graph *irg, irg_walk_func *pre, irg_walk_func *post, void *env)
Walks over reachable nodes in block-wise topological order, i.e.
void irg_block_walk_graph(ir_graph *irg, irg_walk_func *pre, irg_walk_func *post, void *env)
Walks only over reachable Block nodes in the graph.
void irg_walk_in_or_dep(ir_node *node, irg_walk_func *pre, irg_walk_func *post, void *env)
Walks over the ir graph.
void walk_const_code(irg_walk_func *pre, irg_walk_func *post, void *env)
Walks over all code in const_code_irg.
void irg_walk_func(ir_node *, void *)
type for graph-walk callbacks
Definition: firm_types.h:94
void irg_walk_graph(ir_graph *irg, irg_walk_func *pre, irg_walk_func *post, void *env)
Walks over all reachable nodes in the ir graph.
void all_irg_walk(irg_walk_func *pre, irg_walk_func *post, void *env)
Executes irg_walk(end, pre, post, env) for all irgraphs in irprog.
struct ir_node ir_node
Procedure Graph Node.
Definition: firm_types.h:53
void irg_walk_core(ir_node *node, irg_walk_func *pre, irg_walk_func *post, void *env)
core walker function.
void irg_block_walk(ir_node *node, irg_walk_func *pre, irg_walk_func *post, void *env)
Walks only over Block nodes in the graph.
void irg_walk_blkwise_dom_top_down(ir_graph *irg, irg_walk_func *pre, irg_walk_func *post, void *env)
Walks over reachable nodes in block-wise topological order, i.e.