diff options
author | Andi Kleen <ak@linux.intel.com> | 2011-09-27 14:36:48 +0000 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2011-09-27 14:36:48 +0000 |
commit | cc8547a776d53c324e8edc19a143a1ac75e7ca0a (patch) | |
tree | 6a51259b773d6ffc2a40c93fe609a3331fd17b5f /gcc/doc | |
parent | 3019bbaeb3c0156d6e9ca646850a99054963301a (diff) | |
download | gcc-cc8547a776d53c324e8edc19a143a1ac75e7ca0a.zip gcc-cc8547a776d53c324e8edc19a143a1ac75e7ca0a.tar.gz gcc-cc8547a776d53c324e8edc19a143a1ac75e7ca0a.tar.bz2 |
invoke.texi (ffat-lto-objects): Document.
* doc/invoke.texi (ffat-lto-objects): Document.
* toplev.c (compile_file): Do not output assembly when doing slim lto;
Output __gnu_slim_lto when doing slim lto.
* cgraphunit.c (ipa_passes): Do only analysis when producing slim lto.
(cgraph_optimize): Return early when doing slim lto.
* opts.c (finish_options): Complain about lack of linker plugin
when doing slim lto.
* common.opt (ffat-lto-objects): New.
Co-Authored-By: Jan Hubicka <jh@suse.cz>
From-SVN: r179271
Diffstat (limited to 'gcc/doc')
-rw-r--r-- | gcc/doc/invoke.texi | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 1f04612..9df7414 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -355,8 +355,8 @@ Objective-C and Objective-C++ Dialects}. -fcx-limited-range @gol -fdata-sections -fdce -fdce -fdelayed-branch @gol -fdelete-null-pointer-checks -fdse -fdevirtualize -fdse @gol --fearly-inlining -fipa-sra -fexpensive-optimizations -ffast-math @gol --ffinite-math-only -ffloat-store -fexcess-precision=@var{style} @gol +-fearly-inlining -fipa-sra -fexpensive-optimizations -ffat-lto-objects @gol +-ffast-math -ffinite-math-only -ffloat-store -fexcess-precision=@var{style} @gol -fforward-propagate -ffp-contract=@var{style} -ffunction-sections @gol -fgcse -fgcse-after-reload -fgcse-las -fgcse-lm -fgraphite-identity @gol -fgcse-sm -fif-conversion -fif-conversion2 -findirect-inlining @gol @@ -7891,6 +7891,22 @@ use it. Enabled by default when LTO support in GCC is enabled and GCC was compiled with a linker supporting plugins (GNU ld 2.21 or newer or gold). +@item -ffat-lto-objects +@opindex ffat-lto-objects +Fat LTO objects are object files that contain both the intermediate language +and the object code. This makes them useable for both LTO linking and normal +linking. This option makes effect only with @option{-flto} and is ignored +at linktime. + +@option{-fno-fat-lto-objects} improves compilation time over plain LTO, but +requires the complete toolchain to be aware of LTO. It requires a linker with +linker plugin support for basic functionality. Additionally, nm, ar and ranlib +need to support linker plugins to allow a full-featured build environment +(capable of building static libraries etc). + +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. @item -fcompare-elim @opindex fcompare-elim After register allocation and post-register allocation instruction splitting, |