diff options
author | Mehdi Amini <mehdi.amini@apple.com> | 2016-09-19 21:27:04 +0000 |
---|---|---|
committer | Mehdi Amini <mehdi.amini@apple.com> | 2016-09-19 21:27:04 +0000 |
commit | 7cf63826578a807f050e19c4399a3c516b278d9c (patch) | |
tree | 3040f1735b17f50647a8b24608e880cabffcf7a4 /llvm/test/Bitcode | |
parent | 047e81d9f157b58e841ea65655924ef2da3f16b2 (diff) | |
download | bcm5719-llvm-7cf63826578a807f050e19c4399a3c516b278d9c.tar.gz bcm5719-llvm-7cf63826578a807f050e19c4399a3c516b278d9c.zip |
BitcodeWriter: fix emission of invoke when calling a var-arg function with operand bundles
llvm-svn: 281940
Diffstat (limited to 'llvm/test/Bitcode')
-rw-r--r-- | llvm/test/Bitcode/compatibility.ll | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/llvm/test/Bitcode/compatibility.ll b/llvm/test/Bitcode/compatibility.ll index 18270607c3c..7edaa16c748 100644 --- a/llvm/test/Bitcode/compatibility.ll +++ b/llvm/test/Bitcode/compatibility.ll @@ -1590,6 +1590,24 @@ normal: ret void } +declare void @vaargs_func(...) +define void @invoke_with_operand_bundle_vaarg(i32* %ptr) personality i8 3 { +; CHECK-LABEL: @invoke_with_operand_bundle_vaarg( + entry: + %l = load i32, i32* %ptr + %x = add i32 42, 1 + invoke void (...) @vaargs_func(i32 10, i32 %x) [ "foo"(i32 42, i64 100, i32 %x), "foo"(i32 42, float 0.000000e+00, i32 %l) ] + to label %normal unwind label %exception +; CHECK: invoke void (...) @vaargs_func(i32 10, i32 %x) [ "foo"(i32 42, i64 100, i32 %x), "foo"(i32 42, float 0.000000e+00, i32 %l) ] + +exception: + %cleanup = landingpad i8 cleanup + br label %normal +normal: + ret void +} + + declare void @f.writeonly() writeonly ; CHECK: declare void @f.writeonly() #39 |