Commit b4ee6509 by Thomas Preud'homme Committed by Thomas Preud'homme

Never reload fixed form constraints memory operand

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
parent 0863decd
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
......@@ -3243,8 +3243,7 @@ process_address_1 (int nop, bool check_only_p,
/* 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
......
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