aboutsummaryrefslogtreecommitdiff
path: root/gcc/jump.c
diff options
context:
space:
mode:
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>2000-02-28 12:01:08 +0000
committerRichard Kenner <kenner@gcc.gnu.org>2000-02-28 07:01:08 -0500
commite4884e958bc9378730950526524f982065e43970 (patch)
tree33de02b011b3ae77c24098c4bbcfae8a8bc6867b /gcc/jump.c
parent4e217aed3db141e5ad2195bd93d9459125202dbc (diff)
downloadgcc-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.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/jump.c b/gcc/jump.c
index b029c8e..fc6f7df 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -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. */