From: Christoph Mallon Date: Thu, 4 Sep 2008 09:32:26 +0000 (+0000) Subject: Rename -fluffig to -fsync, perform opt_sync() (formerly opt_ldst2()) last to not... X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=82d978b5f7ddefeea8123bc5da97677603056ceb;p=cparser Rename -fluffig to -fsync, perform opt_sync() (formerly opt_ldst2()) last to not interfere with load store optimisation. [r21690] --- diff --git a/driver/firm_cmdline.c b/driver/firm_cmdline.c index bb8b94a..663c1a0 100644 --- a/driver/firm_cmdline.c +++ b/driver/firm_cmdline.c @@ -52,7 +52,7 @@ struct a_firm_opt firm_opt = { /* alias_analysis = */ TRUE, /* strict_alias = */ FALSE, /* no_alias = */ FALSE, - /* luffig = */ FALSE, + /* sync = */ FALSE, /* deconv = */ FALSE, /* cc_opt = */ TRUE, /* bool_opt = */ FALSE, @@ -184,8 +184,8 @@ static const struct params { { X("fp-precise"), &firm_opt.fp_model, fp_model_precise, "firm: precise fp model" }, { X("fp-fast"), &firm_opt.fp_model, fp_model_fast, "firm: fast fp model" }, { X("fp-strict"), &firm_opt.fp_model, fp_model_strict, "firm: strict fp model" }, - { X("luffig"), &firm_opt.luffig, 1, "firm: enable the fluffy load/store optimization" }, - { X("no-luffig"), &firm_opt.luffig, 0, "firm: disable the fluffy load/store optimization" }, + { X("sync"), &firm_opt.sync, 1, "firm: use Syncs to remove unnecessary memory dependencies" }, + { X("no-sync"), &firm_opt.sync, 0, "firm: do not use Syncs to remove unnecessary memory dependencies" }, { X("deconv"), &firm_opt.deconv, 1, "firm: enable the conv node optimization" }, { X("no-deconv"), &firm_opt.deconv, 0, "firm: disable the conv node optimization" }, { X("opt-cc"), &firm_opt.cc_opt, 1, "firm: enable calling conventions optimization" }, @@ -313,7 +313,7 @@ static void disable_opts(void) { firm_opt.alias_analysis = FALSE; firm_opt.strict_alias = FALSE; firm_opt.no_alias = FALSE; - firm_opt.luffig = FALSE; + firm_opt.sync = FALSE; firm_opt.deconv = FALSE; firm_opt.cc_opt = FALSE; firm_opt.bool_opt = FALSE; diff --git a/driver/firm_cmdline.h b/driver/firm_cmdline.h index ba178b2..95b90e0 100644 --- a/driver/firm_cmdline.h +++ b/driver/firm_cmdline.h @@ -59,7 +59,7 @@ struct a_firm_opt { a_byte alias_analysis; /**< enable Alias Analysis */ a_byte strict_alias; /**< enable strict Alias Analysis (using type based AA) */ a_byte no_alias; /**< no aliasing possible. */ - a_byte luffig; /**< enable fluffy load/store optimization */ + a_byte sync; /**< use Syncs to remove unnecessary memory dependencies */ a_byte deconv; /**< enable conv node optimization */ a_byte cc_opt; /**< optimize calling conventions */ a_byte bool_opt; /**< perform bool simplification */ diff --git a/driver/firm_opt.c b/driver/firm_opt.c index 03560ce..637995c 100644 --- a/driver/firm_opt.c +++ b/driver/firm_opt.c @@ -378,7 +378,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 +496,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 +554,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"); @@ -914,6 +913,8 @@ static void do_firm_lowering(const char *input_filename) 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(current_ir_graph, "sync"); } timer_stop(TV_ALL_OPT);