* cse.c (fold_rtx) <PC>: Don't optimize.
authorKazu Hirata <kazu@cs.umass.edu>
Fri, 28 Jan 2005 17:12:08 +0000 (17:12 +0000)
committerKazu Hirata <kazu@gcc.gnu.org>
Fri, 28 Jan 2005 17:12:08 +0000 (17:12 +0000)
From-SVN: r94378

gcc/ChangeLog
gcc/cse.c

index 9e806b3f06278f48cd460ba8d5d5cf1d29942762..af2c4944e27fafc09dbb2bf0698c26a8b238c10b 100644 (file)
@@ -1,3 +1,7 @@
+2005-01-28  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cse.c (fold_rtx) <PC>: Don't optimize.
+
 2005-01-28  Jeff Law  <law@redhat.com>
 
        * fold-const.c (fold, case CEIL_MOD_EXPR): Optimize 0 % X.
index 4bc201424da16523a43246ba779c4b47071991e0..762c0c9d87e0ffb4c2601f40fe90f4c3cbbf9f9c 100644 (file)
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -3265,6 +3265,7 @@ fold_rtx (rtx x, rtx insn)
     case SYMBOL_REF:
     case LABEL_REF:
     case REG:
+    case PC:
       /* No use simplifying an EXPR_LIST
         since they are used only for lists of args
         in a function call's REG_EQUAL note.  */
@@ -3276,17 +3277,6 @@ fold_rtx (rtx x, rtx insn)
       return prev_insn_cc0;
 #endif
 
-    case PC:
-      /* If the next insn is a CODE_LABEL followed by a jump table,
-        PC's value is a LABEL_REF pointing to that label.  That
-        lets us fold switch statements on the VAX.  */
-      {
-       rtx next;
-       if (insn && tablejump_p (insn, &next, NULL))
-         return gen_rtx_LABEL_REF (Pmode, next);
-      }
-      break;
-
     case SUBREG:
       /* See if we previously assigned a constant value to this SUBREG.  */
       if ((new = lookup_as_function (x, CONST_INT)) != 0