This fixes the ICE on our regular -flto-partition=none testers which sees an edge w/o call-stmt after inlining (see the PR for details). I'm not sure this is supposed to happen but the following re-instantiates the guard to inline_update_overall_summary which was present before the last change to that area.
LTO bootstrap / regtest running on x86_64-unknown-linux-gnu, ok? Thanks, Richard. 2014-02-25 Richard Biener <rguent...@suse.de> PR ipa/60327 * ipa.c (walk_polymorphic_call_targets): Properly guard call to inline_update_overall_summary. Index: gcc/ipa.c =================================================================== *** gcc/ipa.c (revision 208124) --- gcc/ipa.c (working copy) *************** walk_polymorphic_call_targets (pointer_s *** 223,232 **** edge->caller->order, target->name (), target->order); edge = cgraph_make_edge_direct (edge, target); ! if (!inline_summary_vec && edge->call_stmt) ! cgraph_redirect_edge_call_stmt_to_callee (edge); ! else inline_update_overall_summary (node); } } } --- 223,232 ---- edge->caller->order, target->name (), target->order); edge = cgraph_make_edge_direct (edge, target); ! if (inline_summary_vec) inline_update_overall_summary (node); + else if (edge->call_stmt) + cgraph_redirect_edge_call_stmt_to_callee (edge); } } }