ia64.c (ia64_override_options): Don't set ia64_flag_var_tracking and clear flag_var_t...
authorJakub Jelinek <jakub@redhat.com>
Sun, 8 May 2005 21:19:16 +0000 (23:19 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Sun, 8 May 2005 21:19:16 +0000 (23:19 +0200)
* config/ia64/ia64.c (ia64_override_options): Don't set
ia64_flag_var_tracking and clear flag_var_tracking here...
(ia64_file_start): ... but here.

From-SVN: r99408

gcc/ChangeLog
gcc/config/ia64/ia64.c

index 5184c4a12cebd702cb525a540ba84eac06575c8b..0da6d512a80c7b2ac4ddad017dc3143857e5ea50 100644 (file)
@@ -1,3 +1,9 @@
+2005-05-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/ia64/ia64.c (ia64_override_options): Don't set
+       ia64_flag_var_tracking and clear flag_var_tracking here...
+       (ia64_file_start): ... but here.
+
 2005-05-08  Nathan Sidwell  <nathan@codesourcery.com>
 
        * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use gcc_assert
index e81a2f9a6dc523eb7ee90905badc69c774335653..cf1fbb93d7985f63da91c0ebcecdac95d00e81f2 100644 (file)
@@ -1668,6 +1668,13 @@ ia64_split_call (rtx retval, rtx addr, rtx retaddr, rtx scratch_r,
 static void
 ia64_file_start (void)
 {
+  /* Variable tracking should be run after all optimizations which change order
+     of insns.  It also needs a valid CFG.  This can't be done in
+     ia64_override_options, because flag_var_tracking is finallized after
+     that.  */
+  ia64_flag_var_tracking = flag_var_tracking;
+  flag_var_tracking = 0;
+
   default_file_start ();
   emit_safe_across_calls ();
 }
@@ -4670,11 +4677,6 @@ ia64_override_options (void)
   ia64_flag_schedule_insns2 = flag_schedule_insns_after_reload;
   flag_schedule_insns_after_reload = 0;
 
-  /* Variable tracking should be run after all optimizations which change order
-     of insns.  It also needs a valid CFG.  */
-  ia64_flag_var_tracking = flag_var_tracking;
-  flag_var_tracking = 0;
-
   ia64_section_threshold = g_switch_set ? g_switch_value : IA64_DEFAULT_GVALUE;
 
   init_machine_status = ia64_init_machine_status;