From 7b395dddb5c4c14bf5f9f9e75a60f2b549d193ff Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Sun, 8 Sep 2013 22:32:46 +0200 Subject: [PATCH] * ipa.c (walk_polymorphic_call_targets): Fix inliner summary update. From-SVN: r202370 --- gcc/ChangeLog | 4 ++++ gcc/ipa.c | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7d3867c2c64..4953bba54d0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2013-09-08 Jan Hubicka + + * ipa.c (walk_polymorphic_call_targets): Fix inliner summary update. + 2013-09-08 Richard Sandiford * ira.c (update_equiv_regs): Only call set_paradoxical_subreg diff --git a/gcc/ipa.c b/gcc/ipa.c index 4b82d1d4bc5..f52a77e5b7d 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); } } } -- 2.30.2