beifg: Factorise code to count interference components.
[libfirm] / ir / be / bedump.h
1 /*
2  * This file is part of libFirm.
3  * Copyright (C) 2012 University of Karlsruhe.
4  */
5
6 /**
7  * @file
8  * @brief       Code for dumping backend datastructures (i.e. interference graphs)
9  * @author      Matthias Braun
10  */
11 #ifndef FIRM_BE_BEDUMP_H
12 #define FIRM_BE_BEDUMP_H
13
14 #include <stdio.h>
15 #include <stdbool.h>
16 #include "firm_types.h"
17 #include "be_types.h"
18
19 /**
20  * Dump interference graph
21  */
22 void be_dump_ifg(FILE *F, ir_graph *irg, const be_ifg_t *ifg);
23
24 /**
25  * Dump interference graph with affinity edges as calculated by a
26  * copy-minimisation phase
27  */
28 void be_dump_ifg_co(FILE *F, const copy_opt_t *co,
29                     bool dump_costs, bool dump_colors);
30
31 /**
32  * Dump the liveness information for a graph.
33  * @param f The output.
34  * @param irg The graph.
35  */
36 void be_liveness_dump(FILE *F, const be_lv_t *lv);
37
38 /**
39  * node_info hook that dumps liveness for blocks
40  */
41 void be_dump_liveness_block(be_lv_t *lv, FILE *F, const ir_node *block);
42
43 #endif