diff options
Diffstat (limited to 'llvm/test/CodeGen')
-rw-r--r-- | llvm/test/CodeGen/AArch64/swift-error.ll | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/AArch64/swift-error.ll b/llvm/test/CodeGen/AArch64/swift-error.ll new file mode 100644 index 00000000000..79a31c19be1 --- /dev/null +++ b/llvm/test/CodeGen/AArch64/swift-error.ll @@ -0,0 +1,18 @@ +; RUN: llc -mtriple aarch64-unknown-linux-gnu -filetype asm -o - %s | FileCheck %s + +%swift.error = type opaque + +declare swiftcc void @f(%swift.error** swifterror) + +define swiftcc void @g(i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %swift.error** swifterror %error) { +entry: + call swiftcc void @f(%swift.error** nonnull nocapture swifterror %error) + ret void +} + +; CHEECK-LABEL: g +; CHECK: str x30, [sp, #-16]! +; CHECK: bl f +; CHECK: ldr x30, [sp], #16 +; CHECK: ret + |