Added new arch interface
[libfirm] / ir / be / bechordal.h
1
2 /**
3  * Chordal register allocation.
4  * @author Sebastian Hack
5  * @date 14.12.2004
6  */
7
8 #ifndef __BECHORDAL_H
9 #define __BECHORDAL_H
10
11 #include "irgraph.h"
12 #include "irnode.h"
13
14 #include "bearch.h"
15
16 /**
17  * Allocate registers for an ir graph.
18  * @param irg The graph.
19  * @return Some internal data to be freed with be_ra_chordal_done().
20  */
21 void be_ra_chordal(ir_graph *irg,
22     const arch_env_t *arch_env,
23     const arch_register_class_t *cls);
24
25 /**
26  * Free data from the chordal register allocation.
27  * @param irg The graph.
28  */
29 void be_ra_chordal_done(ir_graph *irg);
30
31 /**
32  * Init some things for the chordal register allocator.
33  * This must be called before Firm is inited.
34  */
35 void be_ra_chordal_init(void);
36
37 #endif