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