3 * Chordal register allocation.
4 * @author Sebastian Hack
16 typedef struct _be_chordal_env_t be_chordal_env_t;
19 * Allocate registers for an ir graph.
20 * @param irg The graph.
21 * @return Some internal data to be freed with be_ra_chordal_done().
23 be_chordal_env_t *be_ra_chordal(ir_graph *irg,
24 const arch_env_t *arch_env,
25 const arch_register_class_t *cls);
28 * Check current register allocation for correctness.
29 * Interfering nodes have different colors
30 * Register constraints
33 void be_ra_chordal_check(be_chordal_env_t *chordal_env);
36 * Free data from the chordal register allocation.
37 * @param irg The graph.
39 void be_ra_chordal_done(be_chordal_env_t *info);
42 * Init some things for the chordal register allocator.
43 * This must be called before Firm is inited.
45 void be_ra_chordal_init(void);