diff options
author | Jan Hubicka <jh@suse.cz> | 2013-09-08 22:32:46 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2013-09-08 20:32:46 +0000 |
commit | 7b395dddb5c4c14bf5f9f9e75a60f2b549d193ff (patch) | |
tree | 4e0c460dcbc44f39f8ac22e23153d0de4639b043 /gcc | |
parent | c34c46dd820d32d7317f31125c32591935d6c576 (diff) | |
download | gcc-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')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/ipa.c | 6 |
2 files changed, 7 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7d3867c..4953bba 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2013-09-08 Jan Hubicka <jh@suse.cz> + + * ipa.c (walk_polymorphic_call_targets): Fix inliner summary update. + 2013-09-08 Richard Sandiford <rdsandiford@googlemail.com> * ira.c (update_equiv_regs): Only call set_paradoxical_subreg @@ -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); } } } |