diff mbox

Fix PR52037

Message ID alpine.LNX.2.00.1201301342240.4999@zhemvz.fhfr.qr
State New
Headers show

Commit Message

Richard Biener Jan. 30, 2012, 12:43 p.m. UTC
IPA inline transform does not account for the fact that execute_fixup_cfg
may return TODO_update_ssa.  Fixed as follows.

Bootstrap and regtest running on x86_64-unknown-linux-gnu.

Richard.

2012-01-30  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/52045
	* ipa-inline-transform.c (inline_transform): Call execute_fixup_cfg
	before computing final todo.
diff mbox

Patch

Index: gcc/ipa-inline-transform.c
===================================================================
--- gcc/ipa-inline-transform.c	(revision 183695)
+++ gcc/ipa-inline-transform.c	(working copy)
@@ -369,11 +369,13 @@  inline_transform (struct cgraph_node *no
     todo = optimize_inline_calls (current_function_decl);
   timevar_pop (TV_INTEGRATION);
 
+  cfun->always_inline_functions_inlined = true;
+  cfun->after_inlining = true;
+  todo |= execute_fixup_cfg ();
+
   if (!(todo & TODO_update_ssa_any))
     /* Redirecting edges might lead to a need for vops to be recomputed.  */
     todo |= TODO_update_ssa_only_virtuals;
 
-  cfun->always_inline_functions_inlined = true;
-  cfun->after_inlining = true;
-  return todo | execute_fixup_cfg ();
+  return todo;
 }