The big committ:
[libfirm] / ir / be / beirg.h
1 /**
2  * Author:      Matthias Braun
3  * Date:                05.05.2006
4  * Copyright:   (c) Universitaet Karlsruhe
5  * License:     This file is protected by GPL -  GNU GENERAL PUBLIC LICENSE.
6  *
7  * Backend irg - a ir_graph with additional analysis information
8  */
9 #ifndef BEIRG_H_
10 #define BEIRG_H_
11
12 #include "belive.h"
13 #include "beirgmod.h"
14
15 typedef struct _be_irg_t be_irg_t;
16
17 ir_graph *be_get_birg_irg(const be_irg_t *birg);
18
19 void be_assure_liveness(be_irg_t *birg);
20 void be_invalidate_liveness(be_irg_t *birg);
21 be_lv_t *be_get_birg_liveness(const be_irg_t *birg);
22
23 void be_assure_dom_front(be_irg_t *birg);
24 void be_invalidate_dom_front(be_irg_t *birg);
25 be_dom_front_info_t *be_get_birg_dom_front(const be_irg_t *birg);
26
27 ir_exec_freq *be_get_birg_exec_freq(const be_irg_t *birg);
28
29 /**
30  * frees all memory allocated by birg structures (liveness, dom_front, ...).
31  * The memory of the birg structure itself is not freed.
32  */
33 void be_free_birg(be_irg_t *birg);
34
35 #endif