fe10b8ba96e8b9278ddc93c643dc26c1f6bf86b4
[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 "bedomfront.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 const arch_env_t *be_get_birg_arch_env(const be_irg_t *birg);
28
29 ir_exec_freq *be_get_birg_exec_freq(const be_irg_t *birg);
30
31 /**
32  * frees all memory allocated by birg structures (liveness, dom_front, ...).
33  * The memory of the birg structure itself is not freed.
34  */
35 void be_free_birg(be_irg_t *birg);
36
37 #endif