[all-commits] [llvm/llvm-project] e9d9a6: Reapply D70800: Fix AArch64 AAPCS frame record chain
Owen Anderson via All-commits
all-commits at lists.llvm.org
Thu Aug 27 10:30:27 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: e9d9a612084b47fc4277523561d61e675370c854
https://github.com/llvm/llvm-project/commit/e9d9a612084b47fc4277523561d61e675370c854
Author: Owen Anderson <resistor at mac.com>
Date: 2020-08-27 (Thu, 27 Aug 2020)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.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
A llvm/test/CodeGen/AArch64/framelayout-unaligned-fp.ll
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
Differential Revision: D70800
More information about the All-commits
mailing list