aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-prop.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2011-01-07 23:52:54 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2011-01-07 22:52:54 +0000
commit17afc0fe9c02a8fa207c2d0d8519fb5f5c339929 (patch)
tree62e093f14bafa3b6cc4c1294ee2d8b83b6769208 /gcc/ipa-prop.c
parentc12e816f5979685f9ef96e665cc1f752a3e54df9 (diff)
downloadgcc-17afc0fe9c02a8fa207c2d0d8519fb5f5c339929.zip
gcc-17afc0fe9c02a8fa207c2d0d8519fb5f5c339929.tar.gz
gcc-17afc0fe9c02a8fa207c2d0d8519fb5f5c339929.tar.bz2
re PR tree-optimization/46367 (ICE during cgraph edge cloning)
PR tree-optimization/46367 * g++.dg/torture/pr46367.C: New file. * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only when we can update original. (cgraph_mark_inline_edge): Sanity check. * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check. From-SVN: r168587
Diffstat (limited to 'gcc/ipa-prop.c')
-rw-r--r--gcc/ipa-prop.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/ipa-prop.c b/gcc/ipa-prop.c
index f85a4ff..106fc23 100644
--- a/gcc/ipa-prop.c
+++ b/gcc/ipa-prop.c
@@ -1483,6 +1483,10 @@ ipa_make_edge_direct_to_target (struct cgraph_edge *ie, tree target, tree delta)
return NULL;
ipa_check_create_node_params ();
+ /* We can not make edges to inline clones. It is bug that someone removed the cgraph
+ node too early. */
+ gcc_assert (!callee->global.inlined_to);
+
cgraph_make_edge_direct (ie, callee, delta ? tree_low_cst (delta, 0) : 0);
if (dump_file)
{