diff options
Diffstat (limited to 'gcc')
| -rw-r--r-- | gcc/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/cse.c | 4 |
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d10c3ce..7e5b1f7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. @@ -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 |
