diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-06-14 12:46:12 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-06-14 12:46:12 +0000 |
commit | 3b368b8fd48a420c77dc6635520ad375426721e0 (patch) | |
tree | 0ca691aab3eb752bb4b2c1666c9a12a98c49d52e /gcc/lto-streamer-out.c | |
parent | adf7c0a18fd06231329d6e8dd07bb0ea97ec488b (diff) | |
download | gcc-3b368b8fd48a420c77dc6635520ad375426721e0.tar.gz |
* lto-streamer-out.c (lto_output_ts_binfo_tree_pointers): Do not output
BINFO_VIRTUALS when streaming for ltrans unit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175014 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/lto-streamer-out.c')
-rw-r--r-- | gcc/lto-streamer-out.c | 6 |
1 files changed, 5 insertions, 1 deletions
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))); |