]> gcc.gnu.org Git - gcc.git/commitdiff
cse.c (cse_insn): Delete dead code involving tablejump.
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>
Sun, 27 Feb 2000 14:06:15 +0000 (14:06 +0000)
committerRichard Kenner <kenner@gcc.gnu.org>
Sun, 27 Feb 2000 14:06:15 +0000 (09:06 -0500)
* 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
gcc/cse.c

index bc3d71d7bcd897348ead3368998850d04415b62f..56925d218499ce3d30fe30764cdea19e53270646 100644 (file)
@@ -1,5 +1,8 @@
 Sun Feb 27 07:44:17 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
+       * 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  <oliva@lsd.ic.unicamp.br>
index 9611421c6a1865bfcc83cf7a351b8a2203b8bb58..944d86f3be8781966aa6e714692e848bb9b039c2 100644 (file)
--- 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;
            }
This page took 0.081944 seconds and 5 git commands to generate.