Commit e9f67e62 by Jan Hubicka

common.opt (ffat-lto-objects): Disable by default.

	* 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.

From-SVN: r205065
parent 0ab6c9a9
2013-11-20 Jan Hubicka <jh@suse.cz>
* 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 <mjambor@suse.cz> 2013-11-19 Martin Jambor <mjambor@suse.cz>
PR rtl-optimization/59099 PR rtl-optimization/59099
...@@ -1472,6 +1478,7 @@ ...@@ -1472,6 +1478,7 @@
(ssa_fix_duplicate_block_edges): Corresponding changes. (ssa_fix_duplicate_block_edges): Corresponding changes.
(ssa_fixup_template_block, thread_single_edge): Likewise. (ssa_fixup_template_block, thread_single_edge): Likewise.
>>>>>>> .r205063
2013-11-18 Marek Polacek <polacek@redhat.com> 2013-11-18 Marek Polacek <polacek@redhat.com>
* doc/invoke.texi: Extend -fsanitize=undefined documentation. * doc/invoke.texi: Extend -fsanitize=undefined documentation.
...@@ -1156,7 +1156,7 @@ ffast-math ...@@ -1156,7 +1156,7 @@ ffast-math
Common Common
ffat-lto-objects 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. Output lto objects containing both the intermediate language and binary output.
ffinite-math-only ffinite-math-only
...@@ -1392,6 +1392,10 @@ fipa-pure-const ...@@ -1392,6 +1392,10 @@ fipa-pure-const
Common Report Var(flag_ipa_pure_const) Init(0) Optimization Common Report Var(flag_ipa_pure_const) Init(0) Optimization
Discover pure and const functions Discover pure and const functions
fipa-sem-equality
Common Report Var(flag_ipa_sem_equality) Iinit(1) Optimization
Perform Semantic function equality
fipa-reference fipa-reference
Common Report Var(flag_ipa_reference) Init(0) Optimization Common Report Var(flag_ipa_reference) Init(0) Optimization
Discover readonly and non addressable static variables Discover readonly and non addressable static variables
......
...@@ -8626,9 +8626,8 @@ need to support linker plugins to allow a full-featured build environment ...@@ -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 @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. 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 The default is @option{-fno-fat-lto-objects} on targets with linker plugin
change in future releases when linker plugin enabled environments become more support.
common.
@item -fcompare-elim @item -fcompare-elim
@opindex fcompare-elim @opindex fcompare-elim
......
...@@ -493,6 +493,7 @@ static const struct default_options default_options_table[] = ...@@ -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, OPT_fvect_cost_model_, NULL, VECT_COST_MODEL_CHEAP },
{ OPT_LEVELS_2_PLUS_SPEED_ONLY, OPT_foptimize_strlen, NULL, 1 }, { 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_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 }, { OPT_LEVELS_2_PLUS, OPT_fisolate_erroneous_paths, NULL, 1 },
/* -O3 optimizations. */ /* -O3 optimizations. */
...@@ -809,8 +810,12 @@ finish_options (struct gcc_options *opts, struct gcc_options *opts_set, ...@@ -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"); error_at (loc, "LTO support has not been enabled in this configuration");
#endif #endif
if (!opts->x_flag_fat_lto_objects && !HAVE_LTO_PLUGIN) if (!opts->x_flag_fat_lto_objects && !HAVE_LTO_PLUGIN)
{
if (opts_set->x_flag_fat_lto_objects)
error_at (loc, "-fno-fat-lto-objects are supported only with linker plugin."); 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) if ((opts->x_flag_lto_partition_balanced != 0) + (opts->x_flag_lto_partition_1to1 != 0)
+ (opts->x_flag_lto_partition_none != 0) >= 1) + (opts->x_flag_lto_partition_none != 0) >= 1)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment