aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraphunit.c
diff options
context:
space:
mode:
authorAndi Kleen <ak@linux.intel.com>2011-09-27 14:36:48 +0000
committerJan Hubicka <hubicka@gcc.gnu.org>2011-09-27 14:36:48 +0000
commitcc8547a776d53c324e8edc19a143a1ac75e7ca0a (patch)
tree6a51259b773d6ffc2a40c93fe609a3331fd17b5f /gcc/cgraphunit.c
parent3019bbaeb3c0156d6e9ca646850a99054963301a (diff)
downloadgcc-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/cgraphunit.c')
-rw-r--r--gcc/cgraphunit.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index 2dedcc5..999b238 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -2042,7 +2042,7 @@ ipa_passes (void)
if (flag_generate_lto)
targetm.asm_out.lto_end ();
- if (!flag_ltrans)
+ if (!flag_ltrans && (in_lto_p || !flag_lto || flag_fat_lto_objects))
execute_ipa_pass_list (all_regular_ipa_passes);
invoke_plugin_callbacks (PLUGIN_ALL_IPA_PASSES_END, NULL);
@@ -2080,8 +2080,9 @@ cgraph_optimize (void)
if (!seen_error ())
ipa_passes ();
- /* Do nothing else if any IPA pass found errors. */
- if (seen_error ())
+ /* Do nothing else if any IPA pass found errors or if we are just streaming LTO. */
+ if (seen_error ()
+ || (!in_lto_p && flag_lto && !flag_fat_lto_objects))
{
timevar_pop (TV_CGRAPHOPT);
return;