summaryrefslogtreecommitdiff
path: root/gcc/gcse.c
diff options
context:
space:
mode:
authorcrux <crux@138bc75d-0d04-0410-961f-82ee72b054a4>1999-08-26 17:33:35 +0000
committercrux <crux@138bc75d-0d04-0410-961f-82ee72b054a4>1999-08-26 17:33:35 +0000
commit9ddb4deaca9e4109f0e50951ab033be8bec027d9 (patch)
treef2eb991fa7372c76eac5bd3689a5e2244beb4ffd /gcc/gcse.c
parent9873a5932f067566599692944675fd29b9332708 (diff)
downloadgcc-9ddb4deaca9e4109f0e50951ab033be8bec027d9.tar.gz
Ignore no-ops in cprop pass.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28901 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/gcse.c')
-rw-r--r--gcc/gcse.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/gcse.c b/gcc/gcse.c
index 7a484ab2be7..3fa620a9c29 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;