[PATCH] D88641: [AArch64] Omit SEH directives for the epilogue if none are needed
Eli Friedman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 1 10:04:03 PDT 2020
efriedma added a comment.
That explains what was happening in llvm/test/CodeGen/AArch64/lround-conv-fp16-win.ll etc.
================
Comment at: llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:1527
bool IsFunclet = false;
+ bool HasEpilogStart = false;
auto WinCFI = make_scope_exit([&]() {
----------------
Not sure the HasEpilogStart boolean is useful here; could you just `assert(HasWinCFI == MF.hasWinCFI())`? And we shouldn't ever need to call setHasWinCFI().
================
Comment at: llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:1634
- if (NeedsWinCFI) {
+ if (NeedsWinCFI && MF.hasWinCFI()) {
+ // If the prologue didn't contain any SEH opcodes and didn't set the
----------------
Simplify to `if (MF.hasWinCFI()) {`?
================
Comment at: llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:1734
if (Done) {
- if (NeedsWinCFI) {
- HasWinCFI = true;
+ if (NeedsWinCFI && HasWinCFI) {
BuildMI(MBB, MBB.getFirstTerminator(), DL,
----------------
Simplify this to `if (HasWinCFI) {`?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D88641/new/
https://reviews.llvm.org/D88641
More information about the llvm-commits
mailing list