+2019-02-08 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR middle-end/88560
+ * lra-constraints.c (process_alt_operands): Don't increase reject
+ for memory when offset memory is required.
+
2019-02-08 Robin Dapp <rdapp@linux.ibm.com>
* config/s390/vector.md: Implement vector copysign.
(GET_MODE (op), this_alternative, cl)))))
losers++;
- /* Input reloads can be inherited more often than output
- reloads can be removed, so penalize output
- reloads. */
- if (!REG_P (op) || curr_static_id->operand[nop].type != OP_IN)
- {
- if (lra_dump_file != NULL)
- fprintf
- (lra_dump_file,
- " %d Non input pseudo reload: reject++\n",
- nop);
- reject++;
- }
-
if (MEM_P (op) && offmemok)
addr_losers++;
- else if (curr_static_id->operand[nop].type == OP_INOUT)
+ else
{
- if (lra_dump_file != NULL)
- fprintf
- (lra_dump_file,
- " %d Input/Output reload: reject+=%d\n",
- nop, LRA_LOSER_COST_FACTOR);
- reject += LRA_LOSER_COST_FACTOR;
+ /* Input reloads can be inherited more often than
+ output reloads can be removed, so penalize output
+ reloads. */
+ if (!REG_P (op) || curr_static_id->operand[nop].type != OP_IN)
+ {
+ if (lra_dump_file != NULL)
+ fprintf
+ (lra_dump_file,
+ " %d Non input pseudo reload: reject++\n",
+ nop);
+ reject++;
+ }
+
+ if (curr_static_id->operand[nop].type == OP_INOUT)
+ {
+ if (lra_dump_file != NULL)
+ fprintf
+ (lra_dump_file,
+ " %d Input/Output reload: reject+=%d\n",
+ nop, LRA_LOSER_COST_FACTOR);
+ reject += LRA_LOSER_COST_FACTOR;
+ }
}
}