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 4 5define fastcc void @foo() { 6 ret void 7} 8 9define coldcc void @bar() { 10 call fastcc void @foo( ) 11 ret void 12} 13 14define void @structret({ i8 }* sret %P) { 15 call void @structret( { i8 }* sret %P ) 16 ret void 17} 18 19define void @foo2() { 20 ret void 21} 22 23define coldcc void @bar2() { 24 call fastcc void @foo( ) 25 ret void 26} 27 28define cc42 void @bar3() personality i32 (...)* @__gxx_personality_v0 { 29 invoke fastcc void @foo( ) 30 to label %Ok unwind label %U 31 32Ok: 33 ret void 34 35U: 36 %exn = landingpad {i8*, i32} 37 cleanup 38 resume { i8*, i32 } %exn 39} 40 41define void @bar4() personality i32 (...)* @__gxx_personality_v0 { 42 call cc42 void @bar( ) 43 invoke cc42 void @bar3( ) 44 to label %Ok unwind label %U 45 46Ok: 47 ret void 48 49U: 50 %exn = landingpad {i8*, i32} 51 cleanup 52 resume { i8*, i32 } %exn 53} 54 55declare ghccc void @ghc_callee() 56 57define void @ghc_caller() { 58 call ghccc void @ghc_callee() 59 ret void 60} 61 62declare hhvm_ccc void @hhvm_c_callee() 63 64define hhvmcc void @hhvm_caller() { 65 call hhvm_ccc void @hhvm_c_callee() 66 ret void 67} 68 69declare i32 @__gxx_personality_v0(...) 70