diff options
author | Richard Henderson <rth@cygnus.com> | 1999-11-17 16:52:07 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 1999-11-17 16:52:07 -0800 |
commit | e7a59e04e7811b62b3a347c80350bc6125b1748e (patch) | |
tree | 39f358a32fc1d013b84d8acbfd4b03f6542b71b1 /gcc | |
parent | 919509ceea1b225f91160c2976214cc7afbe8ac6 (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cse.c | 11 |
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. @@ -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 |