The unconditional reload of address operand for recognized instruction
in process_address_1 prevent the patch fixing PR85434 from working as
expected. The code in that patch attempts to control which registers are
used to make PIC access but the reload performed by process_address_1
will use generic PIC access. This patch removes the test for the
instruction to be unrecognized to do the reload, thus always avoiding to
reload address operand for fixed constraints (such as "X" used in the
patch).
2018-10-04 Thomas Preud'homme <thomas.preudhomme@linaro.org>
gcc/
* lra-constraints.c (process_address_1): Bail out for all
satisfied fixed constraints.
From-SVN: r264834
+2018-10-04 Thomas Preud'homme <thomas.preudhomme@linaro.org>
+
+ * lra-constraints.c (process_address_1): Bail out for all
+ satisfied fixed constraints.
+
2018-10-03 Jeff Law <law@redhat.com>
* gimple-ssa-sprintf.c (format_string): Do not hardcode size of
/* Do not attempt to decompose arbitrary addresses generated by combine
for asm operands with loose constraints, e.g 'X'. */
else if (MEM_P (op)
- && !(INSN_CODE (curr_insn) < 0
- && get_constraint_type (cn) == CT_FIXED_FORM
+ && !(get_constraint_type (cn) == CT_FIXED_FORM
&& constraint_satisfied_p (op, cn)))
decompose_mem_address (&ad, op);
else if (GET_CODE (op) == SUBREG