- %myty = type int
- %myfn = type float (int,double,uint,short)
- type int(%myfn)
- type int(int)
- type int(int(int))
-implementation
+; RUN: llvm-as < %s | llvm-dis > %t1.ll
+; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
+; RUN: diff %t1.ll %t2.ll
-; This function always returns zero
-int "zarro"(int %Func)
- %q = const uint 4000000000
- %p = const int 0
-begin
+%myty = type i32
+%myfn = type float (i32,double,i32,i16)
+%0 = type i32(%myfn*)
+%1 = type i32(i32)
+%2 = type i32(i32(i32)*)
+
+ %thisfuncty = type i32 (i32) *
+
+declare void @F(%thisfuncty, %thisfuncty, %thisfuncty)
+
+define i32 @zarro(i32 %Func) {
Startup:
- add int %p, 10
- ret int %p
-end
+ add i32 0, 10 ; <i32>:0 [#uses=0]
+ ret i32 0
+}
-int "test"(int)
- %thisfuncty = type int (int) *
-begin
- add %thisfuncty %zarro, %test
- add %thisfuncty %test, %foozball
- ret int 0
-end
+define i32 @test(i32) {
+ call void @F( %thisfuncty @zarro, %thisfuncty @test, %thisfuncty @foozball )
+ ret i32 0
+}
-int "foozball"(int)
-begin
- ret int 0
-end
+define i32 @foozball(i32) {
+ ret i32 0
+}