# include "type_t.h"
# include "type_identify.h"
# include "firmstat.h"
+# include "irreflect_t.h"
+# include "irarch.h"
void
init_firm(const firm_parameter_t *param)
}
/* initialize all ident stuff */
- init_ident (1024);
+ init_ident(def_params.id_if, 1024);
/* enhanced statistics, need idents */
- init_stat();
+ init_stat(def_params.enable_statistics);
/* create the type kinds. */
init_tpop();
/* create an obstack and put all tarvals in a pdeq */
/* init graph construction */
init_irgraph();
/* kind of obstack initialization */
- init_mangle();
+ firm_init_mangle();
/* initalize all op codes an irnode can consist of */
init_op();
/* called once for each run of this library */
/* Constructs some idents needed. */
init_type();
/* allocate a hash table. */
- init_type_identify(def_params.compare_types_func, def_params.hash_types_func);
+ init_type_identify(def_params.ti_if);
+ /* Init reflection facility. */
+ init_rflct();
+
+ /* Init architecture dependent optimizations. */
+ arch_dep_init(arch_dep_default_factory);
+ arch_dep_set_opts(arch_dep_mul_to_shift | arch_dep_div_to_shift | arch_dep_mod_to_shift);
}