[all-commits] [llvm/llvm-project] 993645: Reapply D70800: Fix AArch64 AAPCS frame record chain
Owen Anderson via All-commits
all-commits at lists.llvm.org
Wed Aug 26 12:38:58 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 9936455204fd6ab72715cc9d67385ddc93e072ed
https://github.com/llvm/llvm-project/commit/9936455204fd6ab72715cc9d67385ddc93e072ed
Author: Owen Anderson <resistor at mac.com>
Date: 2020-08-26 (Wed, 26 Aug 2020)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
A llvm/test/CodeGen/AArch64/framelayout-fp-csr.ll
A llvm/test/CodeGen/AArch64/framelayout-frame-record.mir
Log Message:
-----------
Reapply D70800: Fix AArch64 AAPCS frame record chain
Original Commit Message:
After the commit r368987 (rG643adb55769e) was landed, the frame record (FP and LR register)
may be placed in the middle of a stack frame if a function has both callee-saved
general-purpose registers and floating point registers. This will break the stack unwinders
that simply walk through the frame records (based on the guarantee from AAPCS64
"The Frame Pointer" section). This commit fixes the problem by adding the frame record offset.
Patch By: logan
More information about the All-commits
mailing list