re PR rtl-optimization/64682 (wrong code at -O2 and -O3 on x86_64-linux-gnu)
PR rtl-optimization/64682 * combine.c (distribute_notes): When moving a death note for a register that is set in the new I2, make sure to put it before that new I2. PR rtl-optimization/64682 * gcc.c-torture/execute/pr64682.c: New file. From-SVN: r219981
This commit is contained in:
parent
a393438f27
commit
c8b90a13c7
3 changed files with 17 additions and 0 deletions
|
@ -1,3 +1,10 @@
|
|||
2015-01-21 Segher Boessenkool <segher@kernel.crashing.org>
|
||||
|
||||
PR rtl-optimization/64682
|
||||
* combine.c (distribute_notes): When moving a death note for
|
||||
a register that is set in the new I2, make sure to put it
|
||||
before that new I2.
|
||||
|
||||
2015-01-21 David Edelsohn <dje.gcc@gmail.com>
|
||||
|
||||
* config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags
|
||||
|
|
|
@ -13684,6 +13684,11 @@ distribute_notes (rtx notes, rtx_insn *from_insn, rtx_insn *i3, rtx_insn *i2,
|
|||
|| rtx_equal_p (XEXP (note, 0), elim_i0))
|
||||
break;
|
||||
tem_insn = i3;
|
||||
/* If the new I2 sets the same register that is marked dead
|
||||
in the note, the note now should not be put on I2, as the
|
||||
note refers to a previous incarnation of the reg. */
|
||||
if (i2 != 0 && reg_set_p (XEXP (note, 0), PATTERN (i2)))
|
||||
tem_insn = i2;
|
||||
}
|
||||
|
||||
if (place == 0)
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2015-01-21 Segher Boessenkool <segher@kernel.crashing.org>
|
||||
|
||||
PR rtl-optimization/64682
|
||||
* gcc.c-torture/execute/pr64682.c: New file.
|
||||
|
||||
2015-01-21 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR debug/64511
|
||||
|
|
Loading…
Add table
Reference in a new issue