diff options
author | Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | 2000-02-28 12:01:08 +0000 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 2000-02-28 07:01:08 -0500 |
commit | e4884e958bc9378730950526524f982065e43970 (patch) | |
tree | 33de02b011b3ae77c24098c4bbcfae8a8bc6867b /gcc/jump.c | |
parent | 4e217aed3db141e5ad2195bd93d9459125202dbc (diff) | |
download | gcc-e4884e958bc9378730950526524f982065e43970.zip gcc-e4884e958bc9378730950526524f982065e43970.tar.gz gcc-e4884e958bc9378730950526524f982065e43970.tar.bz2 |
jump.c (jump_optimize_1): Don't call delete_barrier_successors if only marking labels.
* jump.c (jump_optimize_1): Don't call delete_barrier_successors
if only marking labels.
From-SVN: r32231
Diffstat (limited to 'gcc/jump.c')
-rw-r--r-- | gcc/jump.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -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. */ |