[PATCH, LRA] Never reload fixed form constraints memory operand

Thomas Preudhomme thomas.preudhomme@linaro.org
Wed Oct 3 16:57:00 GMT 2018


Hi,

The unconditional reload of address operand for recognized instruction
in process_address_1 prevent the patch for fixing "PR85434: Address of
stack protector guard spilled to stack on ARM" proposed at [1]. The code
in this patch attempt 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).

[1] https://gcc.gnu.org/ml/gcc-patches/2018-08/msg01838.html

ChangeLog entry is as follows:

*** gcc/ChangeLog ***

2018-10-03  Thomas Preud'homme  <thomas.preudhomme@linaro.org>

    * lra-constraints.c (process_address_1): Bail out for all
    satisfied fixed constraints.

Testing: Successfully bootstrapped and regtested on:
- arm-linux-gnueabihf (both Arm and Thumb2 mode)
- aarch64-linux-gnu
- x86_64-linux-gnu
- i386-linux-gnu
- sparc64-linux-gnu (gcc202)
- powerpc64le-linux-gnu (gcc112)

Is this ok for trunk?

Best regards,

Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: never_reload_fixed_address_operand.patch
Type: text/x-patch
Size: 2078 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20181003/0a91f1a0/attachment.bin>


More information about the Gcc-patches mailing list