about summary refs log tree commit diff
path: root/src/test/incremental/thinlto
diff options
context:
space:
mode:
authorJeff Muizelaar <jrmuizel@gmail.com>2021-06-02 13:48:42 -0400
committerJeff Muizelaar <jrmuizel@gmail.com>2021-06-02 13:49:29 -0400
commitaab854596fbd5aaea94c827257988a238c60e38e (patch)
tree8d9c110803256cf9d7a33e6def1afa8765669dee /src/test/incremental/thinlto
parentff2c947c00f867b9f012e28ba88cecfbe556f904 (diff)
downloadrust-aab854596fbd5aaea94c827257988a238c60e38e.tar.gz
rust-aab854596fbd5aaea94c827257988a238c60e38e.zip
Turn off frame pointer elimination on all Apple platforms.
This ends up disabling frame pointer elimination on aarch64_apple_darwin
which matches what clang does by default along with the
aarch64_apple_ios and x86_64_apple_darwin targets.

Further, the Apple docs "Writing ARM64 Code for Apple Platforms" has a section
called "Respect the Purpose of Specific CPU Registers" which
specifically calls out the frame pointer register (x29):

   The frame pointer register (x29) must always address a valid frame
   record. Some functions — such as leaf functions or tail calls — may
   opt not to create an entry in this list As a result, stack traces
   are always meaningful, even without debug information.

Other platforms are updated to not override the default.
Diffstat (limited to 'src/test/incremental/thinlto')
0 files changed, 0 insertions, 0 deletions