libFirm
Loading...
Searching...
No Matches
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
16#include "begin.h"
17
45FIRM_API void irg_walk(ir_node *node, irg_walk_func *pre, irg_walk_func *post,
46 void *env);
47
51FIRM_API void irg_walk_core(ir_node *node, irg_walk_func *pre,
52 irg_walk_func *post, void *env);
53
65FIRM_API void irg_walk_graph(ir_graph *irg, irg_walk_func *pre,
66 irg_walk_func *post, void *env);
67
86FIRM_API void irg_walk_in_or_dep(ir_node *node, irg_walk_func *pre,
87 irg_walk_func *post, void *env);
88
102 irg_walk_func *post, void *env);
103
115FIRM_API void irg_walk_topological(ir_graph *irg, irg_walk_func *walker,
116 void *env);
117
128FIRM_API void all_irg_walk(irg_walk_func *pre, irg_walk_func *post, void *env);
129
142FIRM_API void irg_block_walk(ir_node *node, irg_walk_func *pre,
143 irg_walk_func *post, void *env);
144
157 irg_walk_func *post, void *env);
158
170 void *env);
171
189 irg_walk_func *post, void *env);
190
209 irg_walk_func *post, void *env);
210
221FIRM_API void irg_walk_anchors(ir_graph *irg, irg_walk_func *pre,
222 irg_walk_func *post, void *env);
223
228FIRM_API void irg_walk_2(ir_node *node, irg_walk_func *pre, irg_walk_func *post,
229 void *env);
230
233#include "end.h"
234
235#endif
struct ir_graph ir_graph
Procedure Graph.
Definition firm_types.h:74
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_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(ir_node *node, irg_walk_func *pre, irg_walk_func *post, void *env)
Walks over the ir graph.
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.
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_walk_anchors(ir_graph *irg, irg_walk_func *pre, irg_walk_func *post, void *env)
Additionally walk over all anchors.
void irg_walk_func(ir_node *, void *)
type for graph-walk callbacks
Definition firm_types.h:97
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 irg_walk_in_or_dep(ir_node *node, irg_walk_func *pre, irg_walk_func *post, void *env)
Walks over the ir 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.
void walk_const_code(irg_walk_func *pre, irg_walk_func *post, void *env)
Walks over all code in const_code_irg.
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_topological(ir_graph *irg, irg_walk_func *walker, void *env)
Walks over all reachable nodes in the graph, ensuring that nodes inside a basic block are visited in ...
void irg_walk_core(ir_node *node, irg_walk_func *pre, irg_walk_func *post, void *env)
core walker function.
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