re PR rtl-optimization/29329 (internal consistency failure)
authorEric Botcazou <ebotcazou@libertysurf.fr>
Sun, 21 Jan 2007 22:32:39 +0000 (23:32 +0100)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Sun, 21 Jan 2007 22:32:39 +0000 (22:32 +0000)
commit64c919306327433c4c07e55cb4b106800d3ad0b7
treea02be706edc515e25b0af6853ce327ff8283cda9
parentf64acab6abe8755d8939fbcebc305c2af10692a1
re PR rtl-optimization/29329 (internal consistency failure)

PR rtl-optimization/29329
* combine.c (replaced_rhs_insn): Rename to i2mod.
(replaced_rhs_value): Rename to i2mod_new_rhs.
(i2mod_old_rhs): New global variable.
(combine_instructions): Adjust for above change.  Save a copy of
the old RHS into i2mod_old_rhs when the contents of a REG_EQUAL
note are substituted in the second instruction.
(distribute_notes) <REG_DEAD>: Adjust for above change.  Do not
ditch the note if it pertains to the second eliminated register
and this register is mentioned in i2mod_old_rhs.

Revert:
2006-09-12  Eric Botcazou  <ebotcazou@libertysurf.fr>

* combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
the insn to which the note was originally attached.

From-SVN: r121037
gcc/ChangeLog
gcc/combine.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/compile/20070121.c [new file with mode: 0644]