*** empty log message ***
[libfirm] / ir / ir / irdump.h
1 /* Copyright (C) 1998 - 2000 by Universitaet Karlsruhe
2 ** All rights reserved.
3 **
4 ** Authors: Martin Trapp, Christian Schaefer
5 **
6 ** dump an ir graph, for further use with xvcg
7 */
8
9 # ifndef _IRDUMP_H_
10 # define _IRDUMP_H_
11
12 # include "irnode.h"
13 # include "irgraph.h"
14
15 /* dump a simple node */
16 void dump_ir_node (ir_node *node);
17 /* dump the edge to the block this node belongs to */
18 void dump_ir_block_edge(ir_node *n);
19 /* dump edges to our inputs */
20 void dump_ir_data_edges(ir_node *n);
21
22 /* dump a hole graph */
23 void dump_ir_graph (ir_graph *irg);
24
25 /* dump a graph blockwise */
26 void dump_ir_block_graph (ir_graph *irg);
27
28 /* dump a control flow graph */
29 void dump_cfg (ir_graph *irg);
30
31 /* dumps the type information reachable from an ir graph. */
32 void dump_type_graph (ir_graph *irg);
33
34 /* dumps all type information (reachable from ir prog). */
35 void dump_all_types (void);
36
37 /* dumps a graph and the type inforamtion. */
38 void dump_ir_graph_w_types (ir_graph *irg);
39
40 /* dumps all graphs with the graph-dumper passed. Possible dumpers:
41  * dump_ir_graph
42  * dump_ir_block_graph
43  * dump_cfg
44  * dump_type_graph
45  * dump_ir_graph_w_types                                            */
46 void dump_all_ir_graphs (void dump_graph(ir_graph*));
47
48 # endif /* _IRDUMP_H_ */