diff options
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cse.c | 6 |
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c39187b..fc4996c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Tue Jan 12 02:53:46 1999 Richard Henderson <rth@cygnus.com> + + * cse.c (cse_insn): Never prefer (const (constant_p_rtx)). + Tue Jan 12 02:36:10 PST 1999 Jeff Law (law@cygnus.com) * version.c: Bump for snapshot. @@ -6865,6 +6865,12 @@ cse_insn (insn, libcall_insn) if (src == src_folded) src_folded = 0; + /* Folds of constant_p_rtx are to be preferred, since we do + not wish any to live past CSE. */ + if (src && GET_CODE (src) == CONST + && GET_CODE (XEXP (src, 0)) == CONSTANT_P_RTX) + src = 0; + /* At this point, ELT, if non-zero, points to a class of expressions equivalent to the source of this SET and SRC, SRC_EQV, SRC_FOLDED, and SRC_RELATED, if non-zero, each contain additional equivalent |