Added insert_Perm and be_*_main_env_t
[libfirm] / ir / be / be_t.h
1 /**
2  * Internal backend global data structures.
3  * @author Sebastian Hack
4  * @date 8.12.2004
5  */
6
7 #ifndef _BE_T_H
8 #define _BE_T_H
9
10 #include "obst.h"
11
12
13 #include <beirgmod.h>
14 #include <bearch.h>
15
16 #include "benode_t.h"
17
18 #if 0
19 typedef struct _phase_t {
20         const char *name;
21         int id;
22 } phase_t;
23
24 int phase_register(phase_t *phase);
25 void phase_applied(const ir_graph *irg, const phase_t *phase);
26 int phase_depends_on(const ir_graph *irg, const phase_t *phase, int n, ...);
27 int phase_invalidates(const ir_graph *irg, const phase_t *phase, int n, ...);
28 #endif
29
30 typedef struct _be_main_env_t {
31   struct obstack obst;
32   be_node_factory_t *node_factory;
33   arch_env_t *arch_env;
34 } be_main_env_t;
35
36 typedef struct _be_main_session_env_t {
37   const be_main_env_t *main_env;
38   ir_graph *irg;
39   dom_front_info_t *dom_front;
40 } be_main_session_env_t;
41
42 #endif