[PATCH] Fix PR60327 - dealII and Xalanbmk ICEing with LTO
Richard Biener
rguenther@suse.de
Tue Feb 25 14:07:00 GMT 2014
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 <rguenther@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);
}
}
}
More information about the Gcc-patches
mailing list