Hello,

After
  https://gcc.gnu.org/pipermail/gcc-patches/2020-January/537843.html
and
  https://gcc.gnu.org/legacy-ml/gcc-patches/2019-12/msg01398.html

Re-proposing this patch after re-testing with a recent
mainline on on aarch64-linux (bootstrap and regression test
with --enable-languages=all), and more than a year of in-house
use in production for a few aarch64 ports on a gcc-9 base.

The change moves the definitions of PROBE_STACK_FIRST_REG
and PROBE_STACK_SECOND_REG to a more appropriate place for such
items (here, in aarch64.md as suggested by Richard), and adjusts
their value from r9/r10 to r10/r11 to free r9 for a possibly
more general purpose (e.g. as a static chain at least on targets
which have a private use of r18, such as Windows or Vxworks).

OK to commit?

Thanks in advance,

With Kind Regards,

Olivier

2020-11-07  Olivier Hainque  <hain...@adacore.com>

        * config/aarch64/aarch64.md: Define PROBE_STACK_FIRST_REGNUM
        and PROBE_STACK_SECOND_REGNUM constants, designating r10/r11.
        Replacements for the PROBE_STACK_FIRST/SECOND_REG constants in
        aarch64.c.
        * config/aarch64/aarch64.c (PROBE_STACK_FIRST_REG): Remove.
        (PROBE_STACK_SECOND_REG): Remove.
        (aarch64_emit_probe_stack_range): Adjust to the _REG -> _REGNUM
        suffix update for PROBE_STACK register numbers.

Attachment: aarch64-regnum.diff
Description: Binary data

Reply via email to