X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=driver%2Ffirm_opt.c;h=f7ef189e7cd491dc6292345af0ecad702f03467a;hb=ae52b69dfadbd0835e01f55167d979cb6a9a6305;hp=ee3f580e6e05e24ef692453cd6b9c2e7234dc785;hpb=e53f30472457acff3fcac2c70385307c70e41873;p=cparser diff --git a/driver/firm_opt.c b/driver/firm_opt.c index ee3f580..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(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");