+2013-08-26 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline-transform.c (inline_transform): Be ready for basic block
+ to be changed by edge redirection.
+
2013-08-26 Jan Hubicka <jh@suse.cz>
* cgraph.c (cgraph_speculative_call_info): Fix parameter order and formating;
inline_transform (struct cgraph_node *node)
{
unsigned int todo = 0;
- struct cgraph_edge *e;
+ struct cgraph_edge *e, *next;
/* FIXME: Currently the pass manager is adding inline transform more than
once to some clones. This needs revisiting after WPA cleanups. */
if (preserve_function_body_p (node))
save_inline_function_body (node);
- for (e = node->callees; e; e = e->next_callee)
- cgraph_redirect_edge_call_stmt_to_callee (e);
+ for (e = node->callees; e; e = next)
+ {
+ next = e->next_callee;
+ cgraph_redirect_edge_call_stmt_to_callee (e);
+ }
ipa_remove_all_references (&node->symbol.ref_list);
timevar_push (TV_INTEGRATION);