tree-optimize.c (execute_early_local_optimizations): Set cgraph_state only at first...
authorJan Hubicka <jh@suse.cz>
Thu, 19 Jun 2008 17:48:14 +0000 (19:48 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Thu, 19 Jun 2008 17:48:14 +0000 (17:48 +0000)
* tree-optimize.c (execute_early_local_optimizations): Set
cgraph_state only at first invocation.

From-SVN: r136958

gcc/ChangeLog
gcc/tree-optimize.c

index 82c4db36d9db5f7c35f5aa0f3269d20036dd4a7b..d5c60c03cf5306dffe15224c689b914300ffebd4 100644 (file)
@@ -1,3 +1,8 @@
+2008-06-19  Jan Hubicka  <jh@suse.cz>
+
+       * tree-optimize.c (execute_early_local_optimizations): Set
+       cgraph_state only at first invocation.
+
 2008-06-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * system.h (-Wc++-compat): Activate as a warning, no an error.
index 84e1e9d9db347e036af97d1c93300419f43d9028..35feaa1be5ba6b37d94927c5271d738d725ff6d3 100644 (file)
@@ -111,7 +111,11 @@ struct simple_ipa_opt_pass pass_early_local_passes =
 static unsigned int
 execute_early_local_optimizations (void)
 {
-  if (flag_unit_at_a_time)
+  /* First time we start with early optimization we need to advance
+     cgraph state so newly inserted functions are also early optimized.
+     However we execute early local optimizations for lately inserted
+     functions, in that case don't reset cgraph state back to IPA_SSA.  */
+  if (flag_unit_at_a_time && cgraph_state < CGRAPH_STATE_IPA_SSA)
     cgraph_state = CGRAPH_STATE_IPA_SSA;
   return 0;
 }