From 618abf9a1a9cf867869751875ea5eac1dc6a7fea Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Tue, 14 Jun 2011 14:46:12 +0200 Subject: [PATCH] lto-streamer-out.c (lto_output_ts_binfo_tree_pointers): Do not output BINFO_VIRTUALS when streaming for ltrans unit. * lto-streamer-out.c (lto_output_ts_binfo_tree_pointers): Do not output BINFO_VIRTUALS when streaming for ltrans unit. From-SVN: r175014 --- gcc/ChangeLog | 5 +++++ gcc/lto-streamer-out.c | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e7d876fdc15..fdfe9c4837b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-06-13 Jan Hubicka + + * lto-streamer-out.c (lto_output_ts_binfo_tree_pointers): Do not output + BINFO_VIRTUALS when streaming for ltrans unit. + 2011-06-13 David Edelsohn * config/rs6000/rs6000.md (movdi_mfpgpr): Remove POWER mnemonic. diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c index c629a9f871b..17042d5c134 100644 --- a/gcc/lto-streamer-out.c +++ b/gcc/lto-streamer-out.c @@ -1117,7 +1117,11 @@ lto_output_ts_binfo_tree_pointers (struct output_block *ob, tree expr, lto_output_tree_or_ref (ob, BINFO_OFFSET (expr), ref_p); lto_output_tree_or_ref (ob, BINFO_VTABLE (expr), ref_p); - lto_output_tree_or_ref (ob, BINFO_VIRTUALS (expr), ref_p); + /* BINFO_VIRTUALS is used to drive type based devirtualizatoin. It often links + together large portions of programs making it harder to partition. Becuase + devirtualization is interesting before inlining, only, there is no real + need to ship it into ltrans partition. */ + lto_output_tree_or_ref (ob, flag_wpa ? NULL : BINFO_VIRTUALS (expr), ref_p); lto_output_tree_or_ref (ob, BINFO_VPTR_FIELD (expr), ref_p); output_uleb128 (ob, VEC_length (tree, BINFO_BASE_ACCESSES (expr))); -- 2.30.2