fix belistsched for new scheduling API
[libfirm] / ir / be / beirg_t.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_T_H_
10 #define BEIRG_T_H_
11
12 #include "beirg.h"
13
14 /**
15  * An ir_graph with additional analysis data about this irg. Also includes some
16  * backend structures
17  */
18 struct _be_irg_t {
19         ir_graph                      *irg;
20         struct _be_main_env_t         *main_env;
21         struct _be_abi_irg_t          *abi;
22         struct _arch_code_generator_t *cg;
23         ir_exec_freq                  *exec_freq;
24         be_dom_front_info_t           *dom_front;
25         be_lv_t                       *lv;
26 };
27
28 static INLINE be_lv_t *
29 _be_get_birg_liveness(const be_irg_t *birg) {
30         return birg->lv;
31 }
32
33 static INLINE ir_exec_freq *
34 _be_get_birg_exec_freq(const be_irg_t *birg) {
35         return birg->exec_freq;
36 }
37
38 static INLINE be_dom_front_info_t *
39 _be_get_birg_dom_front(const be_irg_t *birg) {
40         return birg->dom_front;
41 }
42
43 static INLINE ir_graph *
44 _be_get_birg_irg(const be_irg_t *birg) {
45         return birg->irg;
46 }
47
48 #define be_get_birg_exec_freq(birg)        _be_get_birg_exec_freq(birg)
49 #define be_get_birg_liveness(birg)         _be_get_birg_liveness(birg)
50 #define be_get_birg_dom_front(birg)        _be_get_birg_dom_front(birg)
51 #define be_get_birg_irg(birg)              _be_get_birg_irg(birg)
52
53 #endif