X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbechordal.h;h=c946a744e168b1df7738d290e668405819a7541d;hb=77f1eeaeb90f2d231b0ccc2fcbe071a9b457e6c3;hp=0d6949ff2fac1b4950275939bcd950cd012d82aa;hpb=a1cf7cc9742645630a1bf5c56c72f542d975645f;p=libfirm diff --git a/ir/be/bechordal.h b/ir/be/bechordal.h index 0d6949ff2..c946a744e 100644 --- a/ir/be/bechordal.h +++ b/ir/be/bechordal.h @@ -11,15 +11,29 @@ #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(). + */ +be_chordal_env_t *be_ra_chordal(ir_graph *irg, + const arch_env_t *arch_env, + const arch_register_class_t *cls); + +/** + * Free data from the chordal register allocation. + * @param irg The graph. */ -void be_ra_chordal(ir_graph *irg); +void be_ra_chordal_done(be_chordal_env_t *info); -void be_ra_chordal_done(ir_graph *irg); +/** + * Init some things for the chordal register allocator. + * This must be called before Firm is inited. + */ void be_ra_chordal_init(void); -int phi_ops_interfere(const ir_node *a, const ir_node *b); #endif