X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbemodule.c;h=8101448c4f6dd9dbff9130f46582ff9607faaafe;hb=c9b4f4105539e3980500c79e8e9a055e2c8c5173;hp=5fad5159fd000cd81d45c03d621aa5d924db8939;hpb=29439abe8fe6f9d4e7bb754cb3774e81929e9fec;p=libfirm diff --git a/ir/be/bemodule.c b/ir/be/bemodule.c index 5fad5159f..8101448c4 100644 --- a/ir/be/bemodule.c +++ b/ir/be/bemodule.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved. + * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. * * This file is part of libFirm. * @@ -24,14 +24,15 @@ * @date 29.09.2005 * @version $Id$ */ - -#include "firm_config.h" +#include "config.h" #include +#include #include "bemodule_t.h" #include "xmalloc.h" +void be_init_abi(void); void be_init_sched(void); void be_init_blocksched(void); void be_init_spill(void); @@ -39,36 +40,42 @@ void be_init_spilloptions(void); void be_init_listsched(void); void be_init_schedrss(void); void be_init_chordal(void); +void be_init_pbqp_coloring(void); void be_init_chordal_main(void); -void be_init_copycoal(void); +void be_init_chordal_common(void); +void be_init_copyopt(void); +void be_init_copyheur(void); void be_init_copyheur2(void); -void be_init_copyheur3(void); void be_init_copyheur4(void); -void be_init_copyheur5(void); +void be_init_copyilp2(void); +void be_init_copynone(void); void be_init_copystat(void); void be_init_daemelspill(void); +void be_init_dbgout(void); void be_init_arch_ia32(void); -void be_init_arch_ppc32(void); -void be_init_arch_mips(void); void be_init_arch_arm(void); +void be_init_arch_sparc(void); +void be_init_arch_amd64(void); void be_init_arch_sta(void); +void be_init_arch_sparc(void); void be_init_arch_TEMPLATE(void); -void be_init_ilpsched(void); void be_init_copyilp(void); -void be_init_javacoal(void); void be_init_peephole(void); void be_init_ra(void); void be_init_spillbelady(void); void be_init_spillbelady2(void); void be_init_ssaconstr(void); -void be_init_ifg(void); +void be_init_stabs(void); +void be_init_pref_alloc(void); void be_init_irgmod(void); void be_init_loopana(void); void be_init_spillslots(void); void be_init_live(void); void be_init_state(void); +void be_init_pbqp(void); void be_quit_copystat(void); +void be_quit_pbqp(void); /** * Driver for module initialization. @@ -76,12 +83,13 @@ void be_quit_copystat(void); */ void be_init_modules(void) { - static int run_once = 0; + static bool run_once = false; if (run_once) return; - run_once = 1; + run_once = true; + be_init_abi(); be_init_irgmod(); be_init_loopana(); be_init_live(); @@ -90,14 +98,23 @@ void be_init_modules(void) be_init_blocksched(); be_init_spill(); be_init_spilloptions(); + be_init_dbgout(); be_init_listsched(); be_init_schedrss(); be_init_chordal_main(); + be_init_chordal_common(); be_init_chordal(); - be_init_copycoal(); - be_init_copyheur2(); + be_init_copyopt(); be_init_copyheur4(); - be_init_copyheur5(); + be_init_copyheur(); + be_init_copyheur2(); +#ifdef WITH_ILP + be_init_copyilp2(); +#endif +#ifdef FIRM_KAPS + be_init_pbqp_coloring(); +#endif + be_init_copynone(); be_init_copystat(); be_init_peephole(); be_init_ra(); @@ -105,33 +122,35 @@ void be_init_modules(void) be_init_spillbelady2(); be_init_daemelspill(); be_init_ssaconstr(); + be_init_pref_alloc(); be_init_state(); - be_init_ifg(); + be_init_stabs(); be_init_arch_ia32(); - be_init_arch_ppc32(); - be_init_arch_mips(); be_init_arch_arm(); - /* do NOT call be_init_arch_TEMPLATE() here, this is NOT a backend :-) */ + be_init_arch_sparc(); + be_init_arch_amd64(); + be_init_arch_TEMPLATE(); #ifdef WITH_ILP - be_init_ilpsched(); be_init_copyilp(); #endif /* WITH_ILP */ -#ifdef WITH_JVM - be_init_copyheur3(); - be_init_javacoal(); -#endif /* WITH_JVM */ - #if PLUGIN_IR_BE_STA be_init_arch_sta(); #endif /* PLUGIN_IR_BE_STA */ + +#ifdef FIRM_GRGEN_BE + be_init_pbqp(); +#endif } void be_quit_modules(void) { be_quit_copystat(); +#ifdef FIRM_GRGEN_BE + be_quit_pbqp(); +#endif } //--------------------------------------------------------------------------- @@ -174,8 +193,8 @@ static int set_opt_module(const char *name, lc_opt_type_t type, void *data, /** * Dump the names of all registered module options. */ -int dump_opt_module(char *buf, size_t buflen, const char *name, - lc_opt_type_t type, void *data, size_t length) +static int dump_opt_module(char *buf, size_t buflen, const char *name, + lc_opt_type_t type, void *data, size_t length) { module_opt_data_t *moddata = data; const be_module_list_entry_t *module; @@ -197,8 +216,8 @@ int dump_opt_module(char *buf, size_t buflen, const char *name, /** * Dump the values of all register module options. */ -int dump_opt_module_vals(char *buf, size_t buflen, const char *name, - lc_opt_type_t type, void *data, size_t len) +static int dump_opt_module_vals(char *buf, size_t buflen, const char *name, + lc_opt_type_t type, void *data, size_t len) { module_opt_data_t *moddata = data; char *p = buf; @@ -232,9 +251,7 @@ int dump_opt_module_vals(char *buf, size_t buflen, const char *name, void be_add_module_to_list(be_module_list_entry_t **list_head, const char *name, void *module) { - be_module_list_entry_t *entry; - - entry = xmalloc(sizeof(entry[0])); + be_module_list_entry_t *entry = XMALLOC(be_module_list_entry_t); entry->name = name; entry->data = module; entry->next = *list_head; @@ -249,9 +266,7 @@ void be_add_module_list_opt(lc_opt_entry_t *grp, const char *name, be_module_list_entry_t * const * list_head, void **var) { - module_opt_data_t *moddata; - - moddata = xmalloc(sizeof(moddata[0])); + module_opt_data_t *moddata = XMALLOC(module_opt_data_t); moddata->var = var; moddata->list_head = list_head;