sched.c (new_insn_dead_notes): Check if the register was used in the original instruction.

* sched.c (new_insn_dead_notes): Check if the register was
	used in the original instruction.
	* haifa-sched.c (new_insn_dead_notes): Likewise.

From-SVN: r19494
This commit is contained in:
J"orn Rennecke 1998-04-29 13:53:20 +00:00 committed by Joern Rennecke
parent 0c84c61834
commit 93da030f63
3 changed files with 20 additions and 0 deletions

View File

@ -1,3 +1,9 @@
Wed Apr 29 21:45:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
* sched.c (new_insn_dead_notes): Check if the register was
used in the original instruction.
* haifa-sched.c (new_insn_dead_notes): Likewise.
Wed Apr 29 13:46:03 1998 Jim Wilson <wilson@cygnus.com>
* dwarf2out.c (scope_die_for): If could not find proper scope,

View File

@ -7621,6 +7621,13 @@ new_insn_dead_notes (pat, insn, last, orig_insn)
if (GET_CODE (dest) == REG)
{
/* If the original insn already used this register, we may not add new
notes for it. One example for a split that needs this test is
when a multi-word memory access with register-indirect addressing
is split into multiple memory accesses with auto-increment and
one adjusting add instruction for the address register. */
if (reg_referenced_p (dest, PATTERN (orig_insn)))
return;
for (tem = last; tem != insn; tem = PREV_INSN (tem))
{
if (GET_RTX_CLASS (GET_CODE (tem)) == 'i'

View File

@ -3655,6 +3655,13 @@ new_insn_dead_notes (pat, insn, last, orig_insn)
if (GET_CODE (dest) == REG)
{
/* If the original insn already used this register, we may not add new
notes for it. One example for a split that needs this test is
when a multi-word memory access with register-indirect addressing
is split into multiple memory accesses with auto-increment and
one adjusting add instruction for the address register. */
if (reg_referenced_p (dest, PATTERN (orig_insn)))
return;
for (tem = last; tem != insn; tem = PREV_INSN (tem))
{
if (GET_RTX_CLASS (GET_CODE (tem)) == 'i'