make -fsync default
[cparser] / driver / firm_opt.c
index 03560ce..12ee99a 100644 (file)
@@ -309,6 +309,7 @@ static void do_optimize_funccalls(void)
 static void do_gcse(ir_graph *irg)
 {
        set_opt_global_cse(1);
+       optimize_graph_df(irg);
        place_code(irg);
        set_opt_global_cse(0);
 }
@@ -378,7 +379,7 @@ static opt_config_t opts[] = {
        { OPT_TARGET_IRG, "place",       (func_ptr_t) place_code,              true, true,  true,  TV_CODE_PLACE },
        { OPT_TARGET_IRG, "confirm",     (func_ptr_t) construct_confirms,      true, true,  true,  TV_CONFIRM_CREATE },
        { OPT_TARGET_IRG, "ldst",        (func_ptr_t) optimize_load_store,     true, true,  true,  TV_LOAD_STORE },
-       { OPT_TARGET_IRG, "ldst2",       (func_ptr_t) opt_ldst2,               true, true,  true,  -1 },
+       { OPT_TARGET_IRG, "sync",        (func_ptr_t) opt_sync,                true, true,  true,  -1 },
        { OPT_TARGET_IRG, "lower",       (func_ptr_t) do_lower_highlevel,      true, true,  true,  -1 },
        { OPT_TARGET_IRG, "deconv",      (func_ptr_t) conv_opt,                true, true,  true,  TV_DECONV },
        { OPT_TARGET_IRG, "condeval",    (func_ptr_t) opt_cond_eval,           true, true,  true,  TV_COND_EVAL },
@@ -496,7 +497,7 @@ static void do_firm_optimizations(const char *input_filename)
   set_opt_enabled("place", !firm_opt.gcse);
   set_opt_enabled("confirm", firm_opt.confirm);
   set_opt_enabled("remove_confirms", firm_opt.confirm);
-  set_opt_enabled("ldst2", firm_opt.luffig);
+  set_opt_enabled("sync", firm_opt.sync);
   set_opt_enabled("ldst", firm_opt.load_store);
   set_opt_enabled("deconv", firm_opt.deconv);
   set_opt_enabled("condeval", firm_opt.cond_eval);
@@ -554,7 +555,6 @@ static void do_firm_optimizations(const char *input_filename)
       do_irg_opt(irg, "local");
     }
 
-    do_irg_opt(irg, "ldst2");
     do_irg_opt(irg, "controlflow");
     do_irg_opt(irg, "ldst");
     do_irg_opt(irg, "lower");
@@ -843,14 +843,9 @@ static void do_firm_lowering(const char *input_filename)
     /* run reassociation first on all graphs BEFORE the architecture dependent optimizations
        are enabled */
     for (i = get_irp_n_irgs() - 1; i >= 0; --i) {
-      current_ir_graph = get_irp_irg(i);
-
-      timer_push(TV_REASSOCIATION);
-        optimize_reassociation(current_ir_graph);
-      timer_pop();
-      DUMP_ONE_C(firm_dump.ir_graph && firm_dump.all_phases, current_ir_graph, "reassoc");
-      CHECK_ONE(firm_opt.check_all, current_ir_graph);
-    }
+      ir_graph *irg = get_irp_irg(i);
+         do_irg_opt(irg, "reassoc");
+       }
 
     /* enable architecture dependent optimizations */
     arch_dep_set_opts((arch_dep_opts_t)
@@ -859,61 +854,23 @@ static void do_firm_lowering(const char *input_filename)
                       (firm_opt.mods ? arch_dep_mod_by_const : arch_dep_none) ));
 
     for (i = get_irp_n_irgs() - 1; i >= 0; --i) {
-      current_ir_graph = get_irp_irg(i);
-
-      if (firm_opt.gcse)
-        set_opt_global_cse(1);
-
-      timer_push(TV_LOCAL_OPT);
-        optimize_graph_df(current_ir_graph);
-      timer_pop();
-      DUMP_ONE_C(firm_dump.ir_graph && firm_dump.all_phases, current_ir_graph, "lopt");
-      if (! firm_opt.gcse)
-        CHECK_ONE(firm_opt.check_all, current_ir_graph);
-
-      if (firm_opt.gcse) {
-        timer_push(TV_CODE_PLACE);
-          place_code(current_ir_graph);
-          set_opt_global_cse(0);
-        timer_pop();
-        DUMP_ONE_C(firm_dump.ir_graph && firm_dump.all_phases, current_ir_graph, "place");
-        CHECK_ONE(firm_opt.check_all, current_ir_graph);
-      }
-
-      timer_push(TV_LOAD_STORE);
-        optimize_load_store(current_ir_graph);
-      timer_pop();
-      DUMP_ONE_C(firm_dump.ir_graph && firm_dump.all_phases, current_ir_graph, "ldst");
-      CHECK_ONE(firm_opt.check_all, current_ir_graph);
-
+      ir_graph *irg = get_irp_irg(i);
 
-      timer_push(TV_LOCAL_OPT);
-        optimize_graph_df(current_ir_graph);
-      timer_pop();
-      DUMP_ONE_C(firm_dump.ir_graph && firm_dump.all_phases, current_ir_graph, "lopt");
+      current_ir_graph = irg;
 
-      timer_push(TV_CF_OPT);
-        optimize_cf(current_ir_graph);
-      timer_pop();
-      DUMP_ONE_C(firm_dump.ir_graph && firm_dump.all_phases, current_ir_graph, "cf");
-      CHECK_ONE(firm_opt.check_all, current_ir_graph);
+         do_irg_opt(irg, "local");
+         do_irg_opt(irg, "gcse");
+         do_irg_opt(irg, "ldst");
+         do_irg_opt(irg, "local");
+         do_irg_opt(irg, "controlflow");
 
       if (firm_opt.if_conversion) {
-        timer_push(TV_IF_CONV);
-          opt_if_conv(current_ir_graph, if_conv_info);
-        timer_pop();
-        DUMP_ONE_C(firm_dump.ir_graph && firm_dump.all_phases, current_ir_graph, "if");
-        CHECK_ONE(firm_opt.check_all, current_ir_graph);
-
-        timer_push(TV_LOCAL_OPT);
-          optimize_graph_df(current_ir_graph);
-        timer_pop();
-        timer_push(TV_CF_OPT);
-          optimize_cf(current_ir_graph);
-        timer_pop();
-        DUMP_ONE_C(firm_dump.ir_graph && firm_dump.all_phases, current_ir_graph, "after_if");
-        CHECK_ONE(firm_opt.check_all, current_ir_graph);
-      }
+                 do_irg_opt(irg, "ifconv");
+                 do_irg_opt(irg, "local");
+                 do_irg_opt(irg, "controlflow");
+         }
+
+         do_irg_opt(current_ir_graph, "sync");
     }
     timer_stop(TV_ALL_OPT);