toplev.c (process_options): Change flag_ipa_ra before creating optimization_{default...
authorJakub Jelinek <jakub@redhat.com>
Fri, 6 Feb 2015 20:50:07 +0000 (21:50 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Fri, 6 Feb 2015 20:50:07 +0000 (21:50 +0100)
* toplev.c (process_options): Change flag_ipa_ra before creating
optimization_{default,current}_node.

From-SVN: r220490

gcc/ChangeLog
gcc/toplev.c

index 035baa52e803c63b8924c6f39e493f91b3d6d562..531ffa0b30d8fc5a7539b5977b0b8d3b73b1c46c 100644 (file)
@@ -1,5 +1,8 @@
 2015-02-06  Jakub Jelinek  <jakub@redhat.com>
 
+       * toplev.c (process_options): Change flag_ipa_ra before creating
+       optimization_{default,current}_node.
+
        PR ipa/64896
        * cgraphunit.c (cgraph_node::expand_thunk): If
        restype is not is_gimple_reg_type nor the thunk_fndecl
index c4bc74b6e79753df0c4e01dd5b260d2afc32907f..99cf180690532630dfe013d4ce283201ba395b21 100644 (file)
@@ -1662,6 +1662,11 @@ process_options (void)
       flag_sanitize &= ~SANITIZE_ADDRESS;
     }
 
+ /* Do not use IPA optimizations for register allocation if profiler is active
+    or port does not emit prologue and epilogue as RTL.  */
+  if (profile_flag || !HAVE_prologue || !HAVE_epilogue)
+    flag_ipa_ra = 0;
+
   /* Enable -Werror=coverage-mismatch when -Werror and -Wno-error
      have not been set.  */
   if (!global_options_set.x_warnings_are_errors
@@ -1675,10 +1680,8 @@ process_options (void)
   optimization_default_node = build_optimization_node (&global_options);
   optimization_current_node = optimization_default_node;
 
- /* Disable use caller save optimization if profiler is active or port
-    does not emit prologue and epilogue as RTL.  */
-  if (profile_flag || !HAVE_prologue || !HAVE_epilogue)
-    flag_ipa_ra = 0;
+  /* Please don't change global_options after this point, those changes won't
+     be reflected in optimization_{default,current}_node.  */
 }
 
 /* This function can be called multiple times to reinitialize the compiler