Remove some logic I thoughtlessly copied over
[oota-llvm.git] / test / Feature / forwardreftest.ll
index 1465670913beb5ef7e1a3836259ee952cca7bb49..edb1f281ebab91f97a701278d9e12225b2433988 100644 (file)
@@ -1,29 +1,33 @@
+; RUN: llvm-upgrade < %s | llvm-as | llvm-dis > %t1.ll
+; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
+; RUN: diff %t1.ll %t2.ll
+
   %myty = type int 
   %myfn = type float (int,double,uint,short)
-  type int(%myfn)
+  type int(%myfn*)
   type int(int)
-  type int(int(int))
+  type int(int(int)*)
+
+  %thisfuncty = type int (int) *
 implementation
 
+declare void %F(%thisfuncty, %thisfuncty, %thisfuncty)
+
 ; This function always returns zero
-int "zarro"(int %Func)
-       %q = uint 4000000000
-       %p = int 0
+int %zarro(int %Func)
 begin
 Startup:
-    add int %p, 10
-    ret int %p
+    add int 0, 10
+    ret int 
 end
 
-int "test"(int) 
-    %thisfuncty = type int (int)
+int %test(int) 
 begin
-    add %thisfuncty %zarro, %test
-    add %thisfuncty %test, %foozball
+    call void %F(%thisfuncty %zarro, %thisfuncty %test, %thisfuncty %foozball)
     ret int 0
 end
 
-int "foozball"(int)
+int %foozball(int)
 begin
     ret int 0
 end