aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2013-09-08 22:32:46 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2013-09-08 20:32:46 +0000
commit7b395dddb5c4c14bf5f9f9e75a60f2b549d193ff (patch)
tree4e0c460dcbc44f39f8ac22e23153d0de4639b043 /gcc/ipa.c
parentc34c46dd820d32d7317f31125c32591935d6c576 (diff)
downloadgcc-7b395dddb5c4c14bf5f9f9e75a60f2b549d193ff.zip
gcc-7b395dddb5c4c14bf5f9f9e75a60f2b549d193ff.tar.gz
gcc-7b395dddb5c4c14bf5f9f9e75a60f2b549d193ff.tar.bz2
* ipa.c (walk_polymorphic_call_targets): Fix inliner summary update.
From-SVN: r202370
Diffstat (limited to 'gcc/ipa.c')
-rw-r--r--gcc/ipa.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/ipa.c b/gcc/ipa.c
index 4b82d1d..f52a77e 100644
--- a/gcc/ipa.c
+++ b/gcc/ipa.c
@@ -206,7 +206,7 @@ walk_polymorphic_call_targets (pointer_set_t *reachable_call_targets,
{
if (targets.length() <= 1)
{
- cgraph_node *target;
+ cgraph_node *target, *node = edge->caller;
if (targets.length () == 1)
target = targets[0];
else
@@ -222,8 +222,8 @@ walk_polymorphic_call_targets (pointer_set_t *reachable_call_targets,
edge = cgraph_make_edge_direct (edge, target);
if (cgraph_state != CGRAPH_STATE_IPA_SSA)
cgraph_redirect_edge_call_stmt_to_callee (edge);
- else
- inline_update_overall_summary (edge->caller);
+ else if (inline_summary_vec)
+ inline_update_overall_summary (node);
}
}
}