xref: /llvm-project/llvm/test/CodeGen/X86/swift-dynamic-async-frame.ll (revision 2f448bf509432c1a19ec46ab8cbc7353c03c6280)
1; RUN: llc -mtriple x86_64-apple-macosx12.0.0 %s -o - | FileCheck %s --check-prefix=CHECK-STATIC
2; RUN: llc -mtriple x86_64-apple-macosx12.0.0 -swift-async-fp=always %s -o - | FileCheck %s --check-prefix=CHECK-STATIC
3; RUN: llc -mtriple x86_64-apple-macosx12.0.0 -swift-async-fp=auto %s -o - | FileCheck %s --check-prefix=CHECK-STATIC
4; RUN: llc -mtriple x86_64-apple-macosx11.9.0 -swift-async-fp=always %s -o - | FileCheck %s --check-prefix=CHECK-STATIC
5; RUN: llc -mtriple x86_64-apple-macosx11.9.0 %s -o - | FileCheck %s --check-prefix=CHECK-STATIC
6; RUN: llc -mtriple x86_64-apple-macosx11.9.0 -swift-async-fp=auto %s -o - | FileCheck %s --check-prefix=CHECK-DYNAMIC
7; RUN: llc -mtriple x86_64-apple-macosx11.9.0 -swift-async-fp=always %s -o - | FileCheck %s --check-prefix=CHECK-STATIC
8; RUN: llc -mtriple x86_64-apple-macosx11.9.0 -swift-async-fp=never %s -o - | FileCheck %s --check-prefix=CHECK-NEVER
9
10; CHECK-STATIC-LABEL: foo:
11; CHECK-STATIC: btsq $60, %rbp
12
13; CHECK-DYNAMIC-LABEL: foo:
14; CHECK-DYNAMIC: orq _swift_async_extendedFramePointerFlags@GOTPCREL(%rip), %rbp
15; CHECK-DYNAMIC: .weak_reference _swift_async_extendedFramePointerFlags
16
17; CHECK-NEVER-LABEL: foo:
18; CHECK-NEVER-NOT: btsq $60, %rbp
19; CHECK-NEVER-NOT: _swift_async_extendedFramePointerFlags
20
21define void @foo(ptr swiftasync) "frame-pointer"="all" {
22  ret void
23}
24