From 2dbe8b7088abd37757aaa91d3cdacd3630b4438f Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Wed, 19 Feb 2014 08:33:45 +0100 Subject: [PATCH] cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove inline clones when edge disappears. * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove inline clones when edge disappears. From-SVN: r207875 --- gcc/ChangeLog | 5 +++++ gcc/cgraph.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6e3c8546c79f..315691a06b89 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-02-18 Jan Hubicka + + * cgraph.c (cgraph_update_edges_for_call_stmt_node): Also remove + inline clones when edge disappears. + 2014-02-18 Michael Meissner PR target/60203 diff --git a/gcc/cgraph.c b/gcc/cgraph.c index ae1f43c43596..a15b6bc7cfcb 100644 --- a/gcc/cgraph.c +++ b/gcc/cgraph.c @@ -1529,7 +1529,10 @@ cgraph_update_edges_for_call_stmt_node (struct cgraph_node *node, attached to edge is invalid. */ count = e->count; frequency = e->frequency; - cgraph_remove_edge (e); + if (e->indirect_unknown_callee || e->inline_failed) + cgraph_remove_edge (e); + else + cgraph_remove_node_and_inline_clones (e->callee, NULL); } else if (new_call) { -- 2.47.3