fixed some depencies between irdump.c and irdumptxt.c
[libfirm] / ir / common / firm.c
index 95e0d35..70ea2c8 100644 (file)
@@ -31,6 +31,7 @@
 # include "firmstat.h"
 # include "irreflect_t.h"
 # include "irarch.h"
+# include "reassoc_t.h"
 
 void
 init_firm(const firm_parameter_t *param)
@@ -71,11 +72,14 @@ 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.ti_if);
   /* Init reflection facility. */
@@ -83,7 +87,7 @@ init_firm(const firm_parameter_t *param)
 
   /* Init architecture dependent optimizations. */
   arch_dep_init(arch_dep_default_factory);
-  arch_dep_set_opts(arch_dep_mul_to_shift);
+  arch_dep_set_opts(arch_dep_mul_to_shift | arch_dep_div_by_const | arch_dep_mod_by_const);
 }