diff options
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/toplev.c | 12 |
2 files changed, 11 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8af9597..24755ec 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2000-02-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> + + * toplev.c (rest_of_compilation): Run rebuild_jump_labels after + split_all_insns to recreate REG_LABEL notes for flow2 pass. + 2000-02-01 Richard Henderson <rth@cygnus.com> * i386.c (general_no_elim_operand): New. diff --git a/gcc/toplev.c b/gcc/toplev.c index 136d966..f858fd9 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -3379,12 +3379,6 @@ rest_of_compilation (decl) if (optimize > 0) reload_cse_regs (insns); - /* Register allocation and reloading may have turned an indirect jump into - a direct jump. If so, we must rebuild the JUMP_LABEL fields of - jumping instructions. */ - if (rebuild_label_notes_after_reload) - TIMEVAR (jump_time, rebuild_jump_labels (insns)); - /* If optimizing and we are performing instruction scheduling after reload, then go ahead and split insns now since we are about to recompute flow information anyway. @@ -3394,6 +3388,12 @@ rest_of_compilation (decl) if (optimize > 0 && flag_schedule_insns_after_reload) split_all_insns (0); + /* Register allocation and reloading may have turned an indirect jump into + a direct jump. If so, we must rebuild the JUMP_LABEL fields of + jumping instructions. */ + if (rebuild_label_notes_after_reload) + TIMEVAR (jump_time, rebuild_jump_labels (insns)); + if (global_reg_dump) { TIMEVAR (dump_time, dump_global_regs (rtl_dump_file)); |
