fixed some depencies between irdump.c and irdumptxt.c
[libfirm] / ir / common / firm.c
index a1e2655..70ea2c8 100644 (file)
@@ -30,6 +30,8 @@
 # include "type_identify.h"
 # include "firmstat.h"
 # include "irreflect_t.h"
+# include "irarch.h"
+# include "reassoc_t.h"
 
 void
 init_firm(const firm_parameter_t *param)
@@ -51,7 +53,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. */
@@ -70,16 +72,22 @@ init_firm(const firm_parameter_t *param)
   init_op();
   /* called once for each run of this library */
   init_cons(def_params.initialize_local_func);
+  /* initialize reassociation */
+  firm_init_reassociation();
   /* Builds a construct allowing to access all information to be constructed
      later. */
   init_irprog();
   /* Constructs some idents needed. */
   init_type();
+  init_entity();
   /* 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_by_const | arch_dep_mod_by_const);
 }