[all-commits] [llvm/llvm-project] 96b0b9: [X86] Enable shrink-wrapping for no-frame-pointer ...
Fangrui Song via All-commits
all-commits at lists.llvm.org
Wed Nov 4 16:52:06 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 96b0b9a5e3c2a038c8590b2d71fa6cc03dc96aa4
https://github.com/llvm/llvm-project/commit/96b0b9a5e3c2a038c8590b2d71fa6cc03dc96aa4
Author: Fangrui Song <i at maskray.me>
Date: 2020-11-04 (Wed, 04 Nov 2020)
Changed paths:
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/test/CodeGen/X86/absolute-cmp.ll
M llvm/test/CodeGen/X86/avx512-mask-op.ll
M llvm/test/CodeGen/X86/live-out-reg-info.ll
M llvm/test/CodeGen/X86/swifterror.ll
M llvm/test/CodeGen/X86/test-vs-bittest.ll
M llvm/test/CodeGen/X86/x86-shrink-wrap-unwind.ll
Log Message:
-----------
[X86] Enable shrink-wrapping for no-frame-pointer non-nounwind functions on platforms not using compact unwind
The current compact unwind scheme does not work when the prologue is not at the
start (the instructions before the prologue cannot be described). (Technically
this is fixable, but it requires multiple compact unwind descriptors for one
function.)
rL255175 chose to not perform shrink-wrapping for no-frame-pointer functions not
marked as nounwind to work around PR25614. This is overly limited, as platforms
not supporting compact unwind (all non-Darwin) does not need the workaround.
This patch restricts the limitation to compact unwind platforms.
Reviewed By: qcolombet
Differential Revision: https://reviews.llvm.org/D89930
More information about the All-commits
mailing list