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
This commit is contained in:
parent
0863decda9
commit
b4ee650946
2 changed files with 6 additions and 2 deletions
|
@ -1,3 +1,8 @@
|
|||
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
|
||||
|
|
Loading…
Add table
Reference in a new issue