Commit 4796d8f6 by Vladimir Makarov Committed by Vladimir Makarov

re PR rtl-optimization/70478 ([LRA] S/390: Performance regression - superfluous stack frame)

2017-04-11  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/70478
	* lra-constraints.c (process_alt_operands): Check memory for
	disfavoring memory insn operand.

From-SVN: r246854
parent df1c878e
2017-04-11 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/70478
* lra-constraints.c (process_alt_operands): Check memory for
disfavoring memory insn operand.
2017-04-11 Jakub Jelinek <jakub@redhat.com> 2017-04-11 Jakub Jelinek <jakub@redhat.com>
PR middle-end/80100 PR middle-end/80100
......
...@@ -2722,12 +2722,14 @@ process_alt_operands (int only_alternative) ...@@ -2722,12 +2722,14 @@ process_alt_operands (int only_alternative)
} }
} }
/* When we use memory operand, the insn should read the /* When we use an operand requiring memory in given
value from memory and even if we just wrote a value alternative, the insn should write *and* read the
into the memory it is costly in comparison with an value to/from memory it is costly in comparison with
insn alternative which does not use memory an insn alternative which does not use memory
(e.g. register or immediate operand). */ (e.g. register or immediate operand). We exclude
if (no_regs_p && offmemok) memory operand for such case as we can satisfy the
memory constraints by reloading address. */
if (no_regs_p && offmemok && !MEM_P (op))
{ {
if (lra_dump_file != NULL) if (lra_dump_file != NULL)
fprintf fprintf
......
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