diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1ba54b03187..f2c733564c6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-11-20 Jan Hubicka + + * common.opt (ffat-lto-objects): Disable by default. + * doc/invoke.texi (fat-lto-objects): Update documentation. + * opts.c: Enable fat-lto-objects on lto plugin disable setups. + 2013-11-19 Martin Jambor PR rtl-optimization/59099 @@ -1472,6 +1478,7 @@ (ssa_fix_duplicate_block_edges): Corresponding changes. (ssa_fixup_template_block, thread_single_edge): Likewise. +>>>>>>> .r205063 2013-11-18 Marek Polacek * doc/invoke.texi: Extend -fsanitize=undefined documentation. diff --git a/gcc/common.opt b/gcc/common.opt index d5971df6418..43d49ace352 100644 --- a/gcc/common.opt +++ b/gcc/common.opt @@ -1156,7 +1156,7 @@ ffast-math Common ffat-lto-objects -Common Var(flag_fat_lto_objects) Init(1) +Common Var(flag_fat_lto_objects) Output lto objects containing both the intermediate language and binary output. ffinite-math-only @@ -1392,6 +1392,10 @@ fipa-pure-const Common Report Var(flag_ipa_pure_const) Init(0) Optimization Discover pure and const functions +fipa-sem-equality +Common Report Var(flag_ipa_sem_equality) Iinit(1) Optimization +Perform Semantic function equality + fipa-reference Common Report Var(flag_ipa_reference) Init(0) Optimization Discover readonly and non addressable static variables diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index e00542285f9..7074a48cbf5 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -8626,9 +8626,8 @@ need to support linker plugins to allow a full-featured build environment @command{gcc-nm}, @command{gcc-ranlib} wrappers to pass the right options to these tools. With non fat LTO makefiles need to be modified to use them. -The default is @option{-ffat-lto-objects} but this default is intended to -change in future releases when linker plugin enabled environments become more -common. +The default is @option{-fno-fat-lto-objects} on targets with linker plugin +support. @item -fcompare-elim @opindex fcompare-elim diff --git a/gcc/opts.c b/gcc/opts.c index a31b28de56b..cd48c73267b 100644 --- a/gcc/opts.c +++ b/gcc/opts.c @@ -493,6 +493,7 @@ static const struct default_options default_options_table[] = { OPT_LEVELS_2_PLUS, OPT_fvect_cost_model_, NULL, VECT_COST_MODEL_CHEAP }, { OPT_LEVELS_2_PLUS_SPEED_ONLY, OPT_foptimize_strlen, NULL, 1 }, { OPT_LEVELS_2_PLUS, OPT_fhoist_adjacent_loads, NULL, 1 }, + { OPT_LEVELS_2_PLUS, OPT_fipa_sem_equality, NULL, 1 }, { OPT_LEVELS_2_PLUS, OPT_fisolate_erroneous_paths, NULL, 1 }, /* -O3 optimizations. */ @@ -809,8 +810,12 @@ finish_options (struct gcc_options *opts, struct gcc_options *opts_set, error_at (loc, "LTO support has not been enabled in this configuration"); #endif if (!opts->x_flag_fat_lto_objects && !HAVE_LTO_PLUGIN) - error_at (loc, "-fno-fat-lto-objects are supported only with linker plugin."); -} + { + if (opts_set->x_flag_fat_lto_objects) + error_at (loc, "-fno-fat-lto-objects are supported only with linker plugin."); + opts->x_flag_fat_lto_objects = 1; + } + } if ((opts->x_flag_lto_partition_balanced != 0) + (opts->x_flag_lto_partition_1to1 != 0) + (opts->x_flag_lto_partition_none != 0) >= 1) {