about summary refs log tree commit diff
path: root/src/test/mir-opt/lower_array_len.array_bound_mut.SimplifyLocals.diff
diff options
context:
space:
mode:
authorYuki Okushi <jtitor@2k36.org>2021-06-03 14:35:28 +0900
committerGitHub <noreply@github.com>2021-06-03 14:35:28 +0900
commit9b1e105ade3cb5b467c94411bbb37168981a02ec (patch)
tree3c2ebd468685ef28ed2389e4b3d2180f14106f47 /src/test/mir-opt/lower_array_len.array_bound_mut.SimplifyLocals.diff
parent9a06f653f72819dd4ac63f1f6bc2d7ff055fc487 (diff)
parentaab854596fbd5aaea94c827257988a238c60e38e (diff)
downloadrust-9b1e105ade3cb5b467c94411bbb37168981a02ec.tar.gz
rust-9b1e105ade3cb5b467c94411bbb37168981a02ec.zip
Rollup merge of #85706 - jrmuizel:fpe, r=nagisa
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/mir-opt/lower_array_len.array_bound_mut.SimplifyLocals.diff')
0 files changed, 0 insertions, 0 deletions