New test cases for bit accurate integers developed by Guoling Han.

llvm-svn: 33259
diff --git a/llvm/test/Integer/forwardreftest_bt.ll b/llvm/test/Integer/forwardreftest_bt.ll
new file mode 100644
index 0000000..d6011b0
--- /dev/null
+++ b/llvm/test/Integer/forwardreftest_bt.ll
@@ -0,0 +1,34 @@
+; RUN: llvm-as %s -o - | llvm-dis > %t1.ll
+; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
+; RUN: diff %t1.ll %t2.ll
+
+  %myty = type i55 
+  %myfn = type float (i55,double,i55,i16)
+  type i55(%myfn*)
+  type i55(i55)
+  type i55(i55(i55)*)
+
+  %thisfuncty = type i55 (i55) *
+implementation
+
+declare void %F(%thisfuncty, %thisfuncty, %thisfuncty)
+
+; This function always returns zero
+define i55 %zarro(i55 %Func)
+begin
+Startup:
+    add i55 0, 10
+    ret i55 0 
+end
+
+define i55 %test(i55) 
+begin
+    call void %F(%thisfuncty %zarro, %thisfuncty %test, %thisfuncty %foozball)
+    ret i55 0
+end
+
+define i55 %foozball(i55)
+begin
+    ret i55 0
+end
+