X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbechordal.h;h=c946a744e168b1df7738d290e668405819a7541d;hb=77f1eeaeb90f2d231b0ccc2fcbe071a9b457e6c3;hp=41256936aa071db29d299e7301cd03b7c9b6596d;hpb=9b060a71a2667ced8d103023eda0ff710e799867;p=libfirm diff --git a/ir/be/bechordal.h b/ir/be/bechordal.h index 41256936a..c946a744e 100644 --- a/ir/be/bechordal.h +++ b/ir/be/bechordal.h @@ -8,13 +8,32 @@ #ifndef __BECHORDAL_H #define __BECHORDAL_H +#include "irgraph.h" +#include "irnode.h" + +#include "bearch.h" + +typedef struct _be_chordal_env_t be_chordal_env_t; + /** * Allocate registers for an ir graph. * @param irg The graph. - * @return Some internal data to be freed with be_ra_chordal_free(). + * @return Some internal data to be freed with be_ra_chordal_done(). */ -void be_ra_chordal(ir_graph *irg); +be_chordal_env_t *be_ra_chordal(ir_graph *irg, + const arch_env_t *arch_env, + const arch_register_class_t *cls); -void be_ra_chordal_free(ir_graph *irg); +/** + * Free data from the chordal register allocation. + * @param irg The graph. + */ +void be_ra_chordal_done(be_chordal_env_t *info); + +/** + * Init some things for the chordal register allocator. + * This must be called before Firm is inited. + */ +void be_ra_chordal_init(void); #endif