From 4e37e57d144fc4d905ae6b235fb637ce259e2c38 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Sun, 27 Feb 2000 14:06:15 +0000 Subject: [PATCH] cse.c (cse_insn): Delete dead code involving tablejump. * cse.c (cse_insn): Delete dead code involving tablejump. Pass CODE_LABEL, not LABEL_REF to gen_jump and reset INSN_CODE. From-SVN: r32219 --- gcc/ChangeLog | 3 +++ gcc/cse.c | 14 ++------------ 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bc3d71d7bcd8..56925d218499 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ Sun Feb 27 07:44:17 2000 Richard Kenner + * cse.c (cse_insn): Delete dead code involving tablejump. + Pass CODE_LABEL, not LABEL_REF to gen_jump and reset INSN_CODE. + * Makefile.in (libcpp.a): Start by deleting it. 2000-02-27 Alexandre Oliva diff --git a/gcc/cse.c b/gcc/cse.c index 9611421c6a18..944d86f3be87 100644 --- a/gcc/cse.c +++ b/gcc/cse.c @@ -5197,17 +5197,6 @@ cse_insn (insn, libcall_insn) || (GET_CODE (trial) == LABEL_REF && ! condjump_p (insn)))) { - /* If TRIAL is a label in front of a jump table, we are - really falling through the switch (this is how casesi - insns work), so we must branch around the table. */ - if (GET_CODE (trial) == CODE_LABEL - && NEXT_INSN (trial) != 0 - && GET_CODE (NEXT_INSN (trial)) == JUMP_INSN - && (GET_CODE (PATTERN (NEXT_INSN (trial))) == ADDR_DIFF_VEC - || GET_CODE (PATTERN (NEXT_INSN (trial))) == ADDR_VEC)) - - trial = gen_rtx_LABEL_REF (Pmode, get_label_after (trial)); - if (trial == pc_rtx) { SET_SRC (sets[i].rtl) = trial; @@ -5215,7 +5204,8 @@ cse_insn (insn, libcall_insn) break; } - PATTERN (insn) = gen_jump (trial); + PATTERN (insn) = gen_jump (XEXP (trial, 0)); + INSN_CODE (insn) = -1; cse_jumps_altered = 1; break; }