[InstCombine] Signed saturation patterns
[llvm-core.git] / test / Feature / callingconventions.ll
blobac4c5090a51d6dc64e185082640eda4a575df716
1 ; RUN: llvm-as < %s | llvm-dis > %t1.ll
2 ; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
3 ; RUN: diff %t1.ll %t2.ll
5 define fastcc void @foo() {
6         ret void
9 define coldcc void @bar() {
10         call fastcc void @foo( )
11         ret void
14 define void @structret({ i8 }* sret  %P) {
15         call void @structret( { i8 }* sret  %P )
16         ret void
19 define void @foo2() {
20         ret void
23 define coldcc void @bar2() {
24         call fastcc void @foo( )
25         ret void
28 define cc42 void @bar3() personality i32 (...)* @__gxx_personality_v0 {
29   invoke fastcc void @foo( )
30     to label %Ok unwind label %U
32 Ok:
33   ret void
36   %exn = landingpad {i8*, i32}
37             cleanup
38   resume { i8*, i32 } %exn
41 define void @bar4() personality i32 (...)* @__gxx_personality_v0 {
42   call cc42 void @bar( )
43   invoke cc42 void @bar3( )
44     to label %Ok unwind label %U
46 Ok:
47   ret void
50   %exn = landingpad {i8*, i32}
51             cleanup
52   resume { i8*, i32 } %exn
55 declare ghccc void @ghc_callee()
57 define void @ghc_caller() {
58   call ghccc void @ghc_callee()
59   ret void
62 declare hhvm_ccc void @hhvm_c_callee()
64 define hhvmcc void @hhvm_caller() {
65   call hhvm_ccc void @hhvm_c_callee()
66   ret void
69 declare i32 @__gxx_personality_v0(...)