Hi,
this patch fixes ICE when edge redirection happens just before summary
generation.
At that time we still don't want edges to be redirected when underlying
statements
are not.
Bootstrapped/regtested x86_64-linux, comitted.
* ipa.c (walk_polymorphic_call_targets): Fix redirection before IPA
summary generation.
Index: ipa.c
===================================================================
--- ipa.c (revision 202370)
+++ ipa.c (working copy)
@@ -220,9 +220,9 @@ walk_polymorphic_call_targets (pointer_s
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);
}
}