brackets
[libfirm] / ir / common / firm.c
index 15621bb..1f5c023 100644 (file)
@@ -29,6 +29,8 @@
 # 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)
@@ -50,7 +52,7 @@ 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(def_params.enable_statistics);
   /* create the type kinds. */
@@ -75,7 +77,13 @@ init_firm(const firm_parameter_t *param)
   /* 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);
 }