diff options
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/ia64/ia64.c | 12 |
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; |