diff options
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/jump.c | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9d36cce..21e2c0b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Mon Feb 28 07:03:27 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + + * jump.c (jump_optimize_1): Don't call delete_barrier_successors + if only marking labels. + Mon Feb 28 12:53:57 MET 2000 Jan Hubicka <jh@suse.cz> * calls.c (expand_call): Attempt to combine stack adjustments with @@ -201,7 +201,8 @@ jump_optimize_1 (f, cross_jump, noop_moves, after_regscan, mark_labels_only) if (flag_exceptions && cross_jump) init_insn_eh_region (f, max_uid); - delete_barrier_successors (f); + if (! mark_labels_only) + delete_barrier_successors (f); /* Leave some extra room for labels and duplicate exit test insns we make. */ @@ -2181,6 +2182,7 @@ init_label_info (f) /* Delete insns following barriers, up to next label. Also delete no-op jumps created by gcse. */ + static void delete_barrier_successors (f) rtx f; @@ -2205,6 +2207,7 @@ delete_barrier_successors (f) } /* INSN is now the code_label. */ } + /* Also remove (set (pc) (pc)) insns which can be created by gcse. We eliminate such insns now to avoid having them cause problems later. */ |
