ipa.c (walk_polymorphic_call_targets): Fix redirection before IPA summary generation.
authorJan Hubicka <jh@suse.cz>
Mon, 9 Sep 2013 06:12:21 +0000 (08:12 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Mon, 9 Sep 2013 06:12:21 +0000 (06:12 +0000)
* ipa.c (walk_polymorphic_call_targets): Fix redirection before IPA
summary generation.

From-SVN: r202380

gcc/ChangeLog
gcc/ipa.c

index c7ac8f092c81aafbbd5cb29626dc389ea68b866b..b4f6417e9f6b47b8e3f37c6944dfbd333a30e5d8 100644 (file)
@@ -1,3 +1,8 @@
+2013-09-08  Jan Hubicka  <jh@suse.cz>
+
+       * ipa.c (walk_polymorphic_call_targets): Fix redirection before IPA
+       summary generation.
+
 2013-09-08  Jeff Law  <law@redhat.com>
 
        PR bootstrap/58340
index f52a77e5b7dda82f48b4d4a9a79fb2721c06f464..91d63eb9f850241b84648ece411513c02ad71d05 100644 (file)
--- a/gcc/ipa.c
+++ b/gcc/ipa.c
@@ -220,9 +220,9 @@ walk_polymorphic_call_targets (pointer_set_t *reachable_call_targets,
                     edge->caller->symbol.order,
                     cgraph_node_name (target), target->symbol.order);
          edge = cgraph_make_edge_direct (edge, target);
-         if (cgraph_state != CGRAPH_STATE_IPA_SSA)
+         if (!inline_summary_vec && edge->call_stmt)
            cgraph_redirect_edge_call_stmt_to_callee (edge);
-         else if (inline_summary_vec)
+         else
            inline_update_overall_summary (node);
        }
     }