X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbera.h;h=1ca7f6460a875409b03b1c1609c599b42d013e2f;hb=c4ff1c9959667db87996891435a12ae466563062;hp=1b83e766c9fa201424386f3b5b78e62cdb90e465;hpb=3b8ab837c366b474b5a6966f90c77fd9401389a3;p=libfirm diff --git a/ir/be/bera.h b/ir/be/bera.h index 1b83e766c..1ca7f6460 100644 --- a/ir/be/bera.h +++ b/ir/be/bera.h @@ -10,7 +10,6 @@ #include "firm_config.h" #ifdef WITH_LIBCORE -#include #include #endif @@ -19,6 +18,7 @@ #include "be.h" #include "belive.h" #include "beirg.h" +#include "bemodule.h" #ifdef WITH_LIBCORE @@ -40,11 +40,16 @@ typedef void *be_ra_timer_t; typedef void *lc_opt_entry_t; #endif /* WITH_LIBCORE */ -typedef struct { - void (*register_options)(lc_opt_entry_t *grp); - be_ra_timer_t *(*allocate)(be_irg_t *bi); +typedef struct be_ra_t { + void (*allocate)(be_irg_t *bi); /**< allocate registers on a graph */ } be_ra_t; +void be_register_allocator(const char *name, be_ra_t *allocator); + +/** + * Do register allocation with currently selected register allocator + */ +void be_allocate_registers(be_irg_t *birg); /** * Check, if two values interfere.