Commit c9561e7b by Vladimir Makarov Committed by Vladimir Makarov

re PR target/61578 (Code size increase for ARM thumb compared to 4.8.x when compiling with -Os)

2015-09-25  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/61578
	* lra-constarints.c (match_reload): Check presence of the input pseudo
	in the output pseudo.

From-SVN: r228153
parent d24a1f53
2015-09-25 Vladimir Makarov <vmakarov@redhat.com>
PR target/61578
* lra-constarints.c (match_reload): Check presence of the input pseudo
in the output pseudo.
2015-09-25 Tobias Burnus <burnus@net-b.de>
* doc/invoke.texi (-fsanitize): Minor wording tweak.
......@@ -945,6 +945,12 @@ match_reload (signed char out, signed char *ins, enum reg_class goal_class,
= (ins[1] < 0 && REG_P (in_rtx)
&& (int) REGNO (in_rtx) < lra_new_regno_start
&& find_regno_note (curr_insn, REG_DEAD, REGNO (in_rtx))
/* We can not use the same value if the pseudo is mentioned
in the output, e.g. as an address part in memory,
becuase output reload will actually extend the pseudo
liveness. We don't care about eliminable hard regs here
as we are interesting only in pseudos. */
&& (out < 0 || regno_use_in (REGNO (in_rtx), out_rtx) == NULL_RTX)
? lra_create_new_reg (inmode, in_rtx, goal_class, "")
: lra_create_new_reg_with_unique_value (outmode, out_rtx,
goal_class, ""));
......
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