New test cases for bit accurate integers developed by Guoling Han.
[oota-llvm.git] / test / Integer / simplecalltest_bt.ll
diff --git a/test/Integer/simplecalltest_bt.ll b/test/Integer/simplecalltest_bt.ll
new file mode 100644 (file)
index 0000000..bb39ab1
--- /dev/null
@@ -0,0 +1,29 @@
+; 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
+
+%FunTy = type i31(i31)
+
+implementation
+
+define void "invoke"(%FunTy *%x)
+begin
+       %foo = call %FunTy* %x(i31 123)
+       ret void
+end
+
+define i31 "main"(i31 %argc, i8 **%argv, i8 **%envp)
+begin
+        %retval = call i31 (i31) *%test(i31 %argc)
+        %two    = add i31 %retval, %retval
+       %retval2 = call i31 %test(i31 %argc)
+
+       %two2 = add i31 %two, %retval2
+       call void %invoke (%FunTy* %test)
+        ret i31 %two2
+end
+
+define i31 "test"(i31 %i0)
+begin
+    ret i31 %i0
+end