avoid unnecessary passing around of arch_env_t* in backend APIs
[libfirm] / ir / be / becopypbqp.h
1 /*
2  * becopypbqp.h
3  *
4  *  Created on: Aug 28, 2009
5  *      Author: bersch
6  */
7
8 #ifndef BECOPYPBQP_H_
9 #define BECOPYPBQP_H_
10
11 #include "plist.h"
12 #include "pmap.h"
13 #include "be_types.h"
14 #include "pbqp_t.h"
15 #include "bitset.h"
16 #include "bechordal.h"
17 #include "pqueue.h"
18 #include "beifg.h"
19
20 typedef struct _pbqp_co_t pbqp_co_t;
21
22 /* struct for pbqp based copy min. optimization */
23 struct _pbqp_co_t {
24         const arch_register_class_t *cls;       // current register class
25         plist_t *rpeo;                                          // reverse perfect elimination order
26         pbqp *pbqp;
27         bitset_t *ignore_reg;
28         bitset_t *restricted_nodes;
29         be_ifg_t *ifg;
30 };
31
32 #endif /* BECOPYPBQP_H_ */