Commit c8b90a13 by Segher Boessenkool Committed by Segher Boessenkool

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
parent a393438f
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)
......
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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment