X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=driver%2Ffirm_opt.c;h=f7ef189e7cd491dc6292345af0ecad702f03467a;hb=ae52b69dfadbd0835e01f55167d979cb6a9a6305;hp=388ff84aaa4699766898c5a69ff4b79ba75060f6;hpb=69ba75a70aa31827d2925c05f1e5de750b22dcbe;p=cparser diff --git a/driver/firm_opt.c b/driver/firm_opt.c index 388ff84..f7ef189 100644 --- a/driver/firm_opt.c +++ b/driver/firm_opt.c @@ -331,7 +331,7 @@ static void do_stred(ir_graph *irg) static void do_inline(void) { - inline_functions(750, 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");