summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/ia64/ia64.c12
2 files changed, 13 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5184c4a12ce..0da6d512a80 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index e81a2f9a6dc..cf1fbb93d79 100644
--- a/gcc/config/ia64/ia64.c
+++ b/gcc/config/ia64/ia64.c
@@ -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;
OpenPOWER on IntegriCloud