OSDN Git Service

* cse.c (delete_trivially_dead_insns): Also delete insns
authorwehle <wehle@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 12 Apr 2000 05:03:32 +0000 (05:03 +0000)
committerwehle <wehle@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 12 Apr 2000 05:03:32 +0000 (05:03 +0000)
that copy a register to itself where the destination is
a strict_low_part.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33090 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/cse.c

index d10c3ce..7e5b1f7 100644 (file)
@@ -1,3 +1,9 @@
+Wed Apr 12 01:00:44 EDT 2000  John Wehle  (john@feith.com)
+
+       * cse.c (delete_trivially_dead_insns): Also delete insns
+       that copy a register to itself where the destination is
+       a strict_low_part.
+
 2000-04-11  Richard Henderson  <rth@cygnus.com>
 
        * flow.c (struct propagate_block_info): Add new_dead, new_live.
index aa26539..967c6f9 100644 (file)
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -7269,6 +7269,10 @@ delete_trivially_dead_insns (insns, nreg)
              && rtx_equal_p (SET_DEST (PATTERN (insn)),
                              SET_SRC (PATTERN (insn))))
            ;
+         else if (GET_CODE (SET_DEST (PATTERN (insn))) == STRICT_LOW_PART
+                  && rtx_equal_p (XEXP (SET_DEST (PATTERN (insn)), 0),
+                                  SET_SRC (PATTERN (insn))))
+           ;
 
 #ifdef HAVE_cc0
          else if (GET_CODE (SET_DEST (PATTERN (insn))) == CC0