[all-commits] [llvm/llvm-project] 5d070c: SwiftAsync: use runtime-provided flag for extended...
Tim Northover via All-commits
all-commits at lists.llvm.org
Mon Sep 13 05:54:58 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 5d070c8259ac64355a5b5d3fd28710a335c2a16f
https://github.com/llvm/llvm-project/commit/5d070c8259ac64355a5b5d3fd28710a335c2a16f
Author: Tim Northover <t.p.northover at gmail.com>
Date: 2021-09-13 (Mon, 13 Sep 2021)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86Subtarget.h
M llvm/test/CodeGen/AArch64/swift-async.ll
A llvm/test/CodeGen/AArch64/swift-dynamic-async-frame.ll
M llvm/test/CodeGen/X86/swift-async.ll
A llvm/test/CodeGen/X86/swift-dynamic-async-frame.ll
Log Message:
-----------
SwiftAsync: use runtime-provided flag for extended frame if back-deploying
When back-deploying Swift async code we can't always toggle the flag showing an
extended frame is present because it will confuse unwinders on systems released
before this feature. So in cases where the code might run there, we `or` in a
mask provided by the runtime (as an absolute symbol) telling us whether the
unwinders can cope.
When deploying only for newer OSs, we can still hard-code the bit-set for
greater efficiency.
More information about the All-commits
mailing list