63 lines · plain
1; RUN: llvm-as < %s | llvm-dis > %t1.ll2; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll3; RUN: diff %t1.ll %t2.ll4 5define fastcc void @foo() {6 ret void7}8 9define coldcc void @bar() {10 call fastcc void @foo( )11 ret void12}13 14define void @structret(ptr sret({ i8 }) %P) {15 call void @structret( ptr sret({ i8 }) %P )16 ret void17}18 19define void @foo2() {20 ret void21}22 23define coldcc void @bar2() {24 call fastcc void @foo( )25 ret void26}27 28define cc42 void @bar3() personality ptr @__gxx_personality_v0 {29 invoke fastcc void @foo( )30 to label %Ok unwind label %U31 32Ok:33 ret void34 35U:36 %exn = landingpad {ptr, i32}37 cleanup38 resume { ptr, i32 } %exn39}40 41define void @bar4() personality ptr @__gxx_personality_v0 {42 call cc42 void @bar( )43 invoke cc42 void @bar3( )44 to label %Ok unwind label %U45 46Ok:47 ret void48 49U:50 %exn = landingpad {ptr, i32}51 cleanup52 resume { ptr, i32 } %exn53}54 55declare ghccc void @ghc_callee()56 57define void @ghc_caller() {58 call ghccc void @ghc_callee()59 ret void60}61 62declare i32 @__gxx_personality_v0(...)63