Initial revision
[libfirm] / ir / ir / irgwalk.h
1 /* Copyright (C) 1998 - 2000 by Universitaet Karlsruhe
2 ** All rights reserved.
3 **
4 ** Author: Boris Boesler
5 **
6 ** traverse an ir graph
7 ** - execute the pre function before recursion
8 ** - execute the post function after recursion
9 */
10
11
12
13 # ifndef _IRGWALK_H_
14 # define _IRGWALK_H_
15
16 # include "irnode.h"
17
18 void irg_walk(ir_node *node,
19               void (pre)(ir_node*, void*), void (post)(ir_node*, void*),
20               void *env);
21
22 /* walks only over Block nodes in the graph.  Has it's own visited
23    flag, so that it can be interleaved with the other walker.         */
24 void irg_block_walk(ir_node *node,
25                     void (pre)(ir_node*, void*), void (post)(ir_node*, void*),
26                     void *env);
27
28
29 # endif /* _IRGWALK_H_ */