aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@cygnus.co.uk>1999-08-07 08:13:28 +0000
committerJeff Law <law@gcc.gnu.org>1999-08-07 02:13:28 -0600
commit05f6f07cc6e8ca6e28a662c592801c59e96e269f (patch)
treeb905e372cc75727502b2a8417ea4982d7d2917de
parent28df416855cad98eb71c2ee4015f78bf7a4d7113 (diff)
downloadgcc-05f6f07cc6e8ca6e28a662c592801c59e96e269f.zip
gcc-05f6f07cc6e8ca6e28a662c592801c59e96e269f.tar.gz
gcc-05f6f07cc6e8ca6e28a662c592801c59e96e269f.tar.bz2
gcse.c (hash_scan_set): Treat SYMBOL_REFs like CONST_INTs.
* gcse.c (hash_scan_set): Treat SYMBOL_REFs like CONST_INTs. (cprop_insn): Treat SYMBOL_REFs like CONST_INTs. From-SVN: r28582
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/gcse.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 389be39..a9ef4a6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Sat Aug 7 02:11:13 1999 Bernd Schmidt <bernds@cygnus.co.uk>
+
+ * gcse.c (hash_scan_set): Treat SYMBOL_REFs like CONST_INTs.
+ (cprop_insn): Treat SYMBOL_REFs like CONST_INTs.
+
1999-08-07 Jonathan Larmour <jlarmour@cygnus.co.uk>
* config/sparc/liteelf.h: New file to support sparclite-elf target
diff --git a/gcc/gcse.c b/gcc/gcse.c
index deebc73..7f67d09 100644
--- a/gcc/gcse.c
+++ b/gcc/gcse.c
@@ -1863,8 +1863,8 @@ hash_scan_set (pat, insn, set_p)
&& ((GET_CODE (src) == REG
&& REGNO (src) >= FIRST_PSEUDO_REGISTER
&& can_copy_p [GET_MODE (dest)])
- /* ??? CONST_INT:wip */
|| GET_CODE (src) == CONST_INT
+ || GET_CODE (src) == SYMBOL_REF
|| GET_CODE (src) == CONST_DOUBLE)
/* A copy is not available if its src or dest is subsequently
modified. Here we want to search from INSN+1 on, but
@@ -3719,7 +3719,8 @@ cprop_insn (insn, alter_jumps)
src = SET_SRC (pat);
/* Constant propagation. */
- if (GET_CODE (src) == CONST_INT || GET_CODE (src) == CONST_DOUBLE)
+ if (GET_CODE (src) == CONST_INT || GET_CODE (src) == CONST_DOUBLE
+ || GET_CODE (src) == SYMBOL_REF)
{
/* Handle normal insns first. */
if (GET_CODE (insn) == INSN