diff --git a/llvm/test/CodeGen/WebAssembly/swiftcc.ll b/llvm/test/CodeGen/WebAssembly/swiftcc.ll --- a/llvm/test/CodeGen/WebAssembly/swiftcc.ll +++ b/llvm/test/CodeGen/WebAssembly/swiftcc.ll @@ -14,10 +14,17 @@ ; CHECK-LABEL: bar: ; CHECK-NEXT: .functype bar (i32, i32) -> () ; CHECK: call_indirect (i32, i32, i32, i32) -> () +; CHECK: call_indirect (i32, i32, i32, i32) -> () +; CHECK: call_indirect (i32, i32, i32, i32) -> () define swiftcc void @bar() { %1 = load i8*, i8** @data %2 = bitcast i8* %1 to void (i32, i32, i32)* call swiftcc void %2(i32 1, i32 2, i32 swiftself 3) + %3 = bitcast i8* %1 to void (i32, i32, i32**)* + %err = alloca swifterror i32*, align 4 + call swiftcc void %3(i32 1, i32 2, i32** swifterror %err) + %4 = bitcast i8* %1 to void (i32, i32, i32, i32**)* + call swiftcc void %4(i32 1, i32 2, i32 swiftself 3, i32** swifterror %err) ret void }