/* alias_analysis = */ TRUE,
/* strict_alias = */ FALSE,
/* no_alias = */ FALSE,
- /* luffig = */ FALSE,
+ /* sync = */ FALSE,
/* deconv = */ FALSE,
/* cc_opt = */ TRUE,
/* bool_opt = */ FALSE,
{ 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" },
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;
{ 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 },
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);
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");
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);