Home | History | Annotate | Download | only in Feature
      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