summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/cse.c12
2 files changed, 5 insertions, 11 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9e806b3f062..af2c4944e27 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/cse.c b/gcc/cse.c
index 4bc201424da..762c0c9d87e 100644
--- 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