aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@cygnus.co.uk>1999-08-26 17:33:35 +0000
committerBernd Schmidt <crux@gcc.gnu.org>1999-08-26 17:33:35 +0000
commit21e3a717241e4b6f70b933212278db63c239563a (patch)
treef2eb991fa7372c76eac5bd3689a5e2244beb4ffd /gcc
parent49b1e9eb966d7ded474167d5a5463b05ee8bc479 (diff)
downloadgcc-21e3a717241e4b6f70b933212278db63c239563a.zip
gcc-21e3a717241e4b6f70b933212278db63c239563a.tar.gz
gcc-21e3a717241e4b6f70b933212278db63c239563a.tar.bz2
Ignore no-ops in cprop pass.
From-SVN: r28901
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/gcse.c6
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b19980a..3351ad0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+Thu Aug 26 18:32:32 1999 Bernd Schmidt <bernds@cygnus.co.uk>
+
+ * gcse.c (hash_scan_insn): Don't scan obvious no-ops.
+
1999-08-26 09:42 -0700 Zack Weinberg <zack@bitmover.com>
* tree.h: fancy_abort always takes three args.
diff --git a/gcc/gcse.c b/gcc/gcse.c
index 7a484ab..3fa620a 100644
--- a/gcc/gcse.c
+++ b/gcc/gcse.c
@@ -1919,7 +1919,11 @@ hash_scan_insn (insn, set_p, in_libcall_block)
what's been modified. */
if (GET_CODE (pat) == SET && ! in_libcall_block)
- hash_scan_set (pat, insn, set_p);
+ {
+ /* Ignore obvious no-ops. */
+ if (SET_SRC (pat) != SET_DEST (pat))
+ hash_scan_set (pat, insn, set_p);
+ }
else if (GET_CODE (pat) == PARALLEL)
{
int i;