diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2016-05-18 09:12:46 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2016-05-18 07:12:46 +0000 |
commit | ec6a1e35322a8b9b008c5fef7a8effdbf17b68eb (patch) | |
tree | 51f4dc565b802a5108ca6b8ff2ddbbb66ebc9e33 /gcc/lto-streamer-in.c | |
parent | df8b0a111998b29f47616001251333ce36984353 (diff) | |
download | gcc-ec6a1e35322a8b9b008c5fef7a8effdbf17b68eb.zip gcc-ec6a1e35322a8b9b008c5fef7a8effdbf17b68eb.tar.gz gcc-ec6a1e35322a8b9b008c5fef7a8effdbf17b68eb.tar.bz2 |
ipa-inline-transform.c (preserve_function_body_p): Look for first non-thunk clone.
* ipa-inline-transform.c (preserve_function_body_p): Look for
first non-thunk clone.
(save_function_body): Save into first non-thunk.
* lto-cgraph.c (lto_output_edge): When streaming thunk do not look
up call stmt id.
(lto_output_node): Inline thunks don't need body in every
partition.
* lto-streamer-in.c: Do not fixup thunk clones.
* cgraphclones.c (cgraph_node::create_edge_including_clone): Skip
thunks.
* tree-inline.c (copy_bb): Be prepared for target node to be new after
folding suceeds.
From-SVN: r236357
Diffstat (limited to 'gcc/lto-streamer-in.c')
-rw-r--r-- | gcc/lto-streamer-in.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/lto-streamer-in.c b/gcc/lto-streamer-in.c index 1970d45..3a353cd 100644 --- a/gcc/lto-streamer-in.c +++ b/gcc/lto-streamer-in.c @@ -953,7 +953,8 @@ fixup_call_stmt_edges (struct cgraph_node *orig, gimple **stmts) if (orig->clones) for (node = orig->clones; node != orig;) { - fixup_call_stmt_edges_1 (node, stmts, fn); + if (!node->thunk.thunk_p) + fixup_call_stmt_edges_1 (node, stmts, fn); if (node->clones) node = node->clones; else if (node->next_sibling_clone) |