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
This commit is contained in:
Vladimir Makarov 2017-04-11 19:39:59 +00:00 committed by Vladimir Makarov
parent df1c878ec2
commit 4796d8f620
2 changed files with 14 additions and 6 deletions

View File

@ -1,3 +1,9 @@
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>
PR middle-end/80100

View File

@ -2722,12 +2722,14 @@ process_alt_operands (int only_alternative)
}
}
/* When we use memory operand, the insn should read the
value from memory and even if we just wrote a value
into the memory it is costly in comparison with an
insn alternative which does not use memory
(e.g. register or immediate operand). */
if (no_regs_p && offmemok)
/* When we use an operand requiring memory in given
alternative, the insn should write *and* read the
value to/from memory it is costly in comparison with
an insn alternative which does not use memory
(e.g. register or immediate operand). We exclude
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)
fprintf