aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>1999-11-17 16:52:07 -0800
committerRichard Henderson <rth@gcc.gnu.org>1999-11-17 16:52:07 -0800
commite7a59e04e7811b62b3a347c80350bc6125b1748e (patch)
tree39f358a32fc1d013b84d8acbfd4b03f6542b71b1 /gcc
parent919509ceea1b225f91160c2976214cc7afbe8ac6 (diff)
downloadgcc-e7a59e04e7811b62b3a347c80350bc6125b1748e.zip
gcc-e7a59e04e7811b62b3a347c80350bc6125b1748e.tar.gz
gcc-e7a59e04e7811b62b3a347c80350bc6125b1748e.tar.bz2
cse.c (delete_trivially_dead_insns): Identify no-op insns containing subregs too.
* cse.c (delete_trivially_dead_insns): Identify no-op insns containing subregs too. From-SVN: r30563
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/cse.c11
2 files changed, 12 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fe49964..1694b72 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Wed Nov 17 16:51:23 1999 Richard Henderson <rth@cygnus.com>
+
+ * cse.c (delete_trivially_dead_insns): Identify no-op insns
+ containing subregs too.
+
Wed Nov 17 17:39:48 MST 1999 Diego Novillo <dnovillo@cygnus.com>
* invoke.texi: Add documentation for -muninit-const-in-rodata.
diff --git a/gcc/cse.c b/gcc/cse.c
index 0736cd9..979069c 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -7176,8 +7176,10 @@ delete_trivially_dead_insns (insns, nreg)
live_insn = ! dead_libcall;
else if (GET_CODE (PATTERN (insn)) == SET)
{
- if (GET_CODE (SET_DEST (PATTERN (insn))) == REG
- && SET_DEST (PATTERN (insn)) == SET_SRC (PATTERN (insn)))
+ if ((GET_CODE (SET_DEST (PATTERN (insn))) == REG
+ || GET_CODE (SET_DEST (PATTERN (insn))) == SUBREG)
+ && rtx_equal_p (SET_DEST (PATTERN (insn)),
+ SET_SRC (PATTERN (insn))))
;
#ifdef HAVE_cc0
@@ -7207,8 +7209,9 @@ delete_trivially_dead_insns (insns, nreg)
if (GET_CODE (elt) == SET)
{
- if (GET_CODE (SET_DEST (elt)) == REG
- && SET_DEST (elt) == SET_SRC (elt))
+ if ((GET_CODE (SET_DEST (elt)) == REG
+ || GET_CODE (SET_DEST (elt)) == SUBREG)
+ && rtx_equal_p (SET_DEST (elt), SET_SRC (elt)))
;
#ifdef HAVE_cc0