diff options
author | Huihui Zhang <huihuiz@quicinc.com> | 2020-03-02 16:11:50 -0800 |
---|---|---|
committer | Huihui Zhang <huihuiz@quicinc.com> | 2020-03-02 16:28:57 -0800 |
commit | 44fa47c9e7eac68bed624246ad4edf7570a6397b (patch) | |
tree | 85d921c70f7f497677504fe1a3b9506125ea78dc /llvm/lib/CodeGen/LiveDebugValues.cpp | |
parent | dffbaa40142113416fef6d3514e13fbc362bb888 (diff) | |
download | llvm-44fa47c9e7eac68bed624246ad4edf7570a6397b.zip llvm-44fa47c9e7eac68bed624246ad4edf7570a6397b.tar.gz llvm-44fa47c9e7eac68bed624246ad4edf7570a6397b.tar.bz2 |
[ARM][ConstantIslands] Fix stack mis-alignment caused by undoLRSpillRestore.
Summary:
It is not safe for ARMConstantIslands to undoLRSpillRestore. PrologEpilogInserter is
the one to ensure stack alignment, taking into consideration LR is spilled or not.
For noreturn function with StackAlignment 8 (function contains call/alloc),
undoLRSpillRestore cause stack be mis-aligned. Fixing stack alignment in
ARMConstantIslands doesn't give us much benefit, as undo LR spill/restore only
occur in large function with near branches only, also doesn't have callee-saved LR spill.
Reviewers: t.p.northover, rengolin, efriedma, apazos, samparker, ostannard
Reviewed By: ostannard
Subscribers: dmgreen, ostannard, kristof.beyls, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D75288
Diffstat (limited to 'llvm/lib/CodeGen/LiveDebugValues.cpp')
0 files changed, 0 insertions, 0 deletions