Land the long talked about "type system rewrite" patch. This
[llvm/stm8.git] / test / Feature / forwardreftest.ll
blob6ca1be79e4617be8efc8a214d6ac997b0d09e21a
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 %myty = type i32 
6 %myfn = type float (i32,double,i32,i16)
7 %0 = type i32(%myfn*)
8 %1 = type i32(i32)
9 %2 = type i32(i32(i32)*)
11   %thisfuncty = type i32 (i32) *
13 declare void @F(%thisfuncty, %thisfuncty, %thisfuncty)
15 define i32 @zarro(i32 %Func) {
16 Startup:
17         add i32 0, 10           ; <i32>:0 [#uses=0]
18         ret i32 0
21 define i32 @test(i32) {
22         call void @F( %thisfuncty @zarro, %thisfuncty @test, %thisfuncty @foozball )
23         ret i32 0
26 define i32 @foozball(i32) {
27         ret i32 0