add main, fix warnings not intended
[cparser] / driver / firm_opt.c
index ee3f580..f7ef189 100644 (file)
@@ -331,7 +331,7 @@ static void do_stred(ir_graph *irg)
 
 static void do_inline(void)
 {
-       inline_functions(500, 0);
+       inline_functions(firm_opt.inline_maxsize, firm_opt.inline_threshold);
 }
 
 static void do_cloning(void)
@@ -387,6 +387,7 @@ static opt_config_t opts[] = {
        { OPT_TARGET_IRG, "gvnpre",      (func_ptr_t) do_gvn_pre,              true, true,  true,  -1 },
        { OPT_TARGET_IRG, "ifconv",      (func_ptr_t) do_if_conv,              true, true,  true,  TV_IF_CONV },
        { OPT_TARGET_IRG, "bool",        (func_ptr_t) opt_bool,                true, true,  true,  -1 },
+       { OPT_TARGET_IRG, "end-melt",    (func_ptr_t) melt_end_blocks,         true, true,  true,  TV_END_MELT },
        { OPT_TARGET_IRG, "stred",       (func_ptr_t) do_stred,                true, true,  true,  TV_OSR },
        { OPT_TARGET_IRG, "dead",        (func_ptr_t) dead_node_elimination,   true, false, true,  TV_DEAD_NODE },
        { OPT_TARGET_IRP, "inline",      (func_ptr_t) do_inline,               true, true,  true,  -1 },
@@ -479,6 +480,7 @@ static void do_firm_optimizations(const char *input_filename)
   set_opt_scalar_replacement(firm_opt.scalar_replace);
   set_opt_auto_create_sync(firm_opt.auto_sync);
   set_opt_alias_analysis(firm_opt.alias_analysis);
+  set_opt_combo(firm_opt.combo);
 
   aa_opt = aa_opt_no_opt;
   if (firm_opt.strict_alias)
@@ -504,6 +506,7 @@ static void do_firm_optimizations(const char *input_filename)
   set_opt_enabled("gvnpre", firm_opt.gvn_pre);
   set_opt_enabled("ifconv", firm_opt.if_conversion);
   set_opt_enabled("bool", firm_opt.bool_opt);
+  set_opt_enabled("end-melt", firm_opt.end_melt);
   set_opt_enabled("inline", firm_opt.do_inline);
   set_opt_enabled("clone", firm_opt.cloning);
   set_opt_enabled("combo", firm_opt.combo);
@@ -573,6 +576,7 @@ static void do_firm_optimizations(const char *input_filename)
     }
 
     do_irg_opt(irg, "bool");
+    do_irg_opt(irg, "end-melt");
     do_irg_opt(irg, "stred");
     do_irg_opt(irg, "local");
     do_irg_opt(irg, "dead");