added a couple test cases, including the new vaarg breakage
authorAndrew Lenharth <andrewl@lenharth.org>
Thu, 26 Jan 2006 17:43:42 +0000 (17:43 +0000)
committerAndrew Lenharth <andrewl@lenharth.org>
Thu, 26 Jan 2006 17:43:42 +0000 (17:43 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25648 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGen/Alpha/2005-12-12-MissingFCMov.ll [new file with mode: 0644]
test/CodeGen/Alpha/2006-01-26-VaargBreak.ll [new file with mode: 0644]

diff --git a/test/CodeGen/Alpha/2005-12-12-MissingFCMov.ll b/test/CodeGen/Alpha/2005-12-12-MissingFCMov.ll
new file mode 100644 (file)
index 0000000..7307d96
--- /dev/null
@@ -0,0 +1,44 @@
+; This shouldn't crash
+; RUN: llvm-as < %s | llc -march=alpha
+
+; ModuleID = 'bugpoint-reduced-simplified.bc'
+target endian = little
+target pointersize = 64
+%.str_4 = external global [44 x sbyte]         ; <[44 x sbyte]*> [#uses=0]
+
+implementation   ; Functions:
+
+declare void %printf(int, ...)
+
+void %main() {
+entry:
+       %tmp.11861 = setlt long 0, 1            ; <bool> [#uses=1]
+       %tmp.19466 = setlt long 0, 1            ; <bool> [#uses=1]
+       %tmp.21571 = setlt long 0, 1            ; <bool> [#uses=1]
+       %tmp.36796 = setlt long 0, 1            ; <bool> [#uses=1]
+       br bool %tmp.11861, label %loopexit.2, label %no_exit.2
+
+no_exit.2:             ; preds = %entry
+       ret void
+
+loopexit.2:            ; preds = %entry
+       br bool %tmp.19466, label %loopexit.3, label %no_exit.3.preheader
+
+no_exit.3.preheader:           ; preds = %loopexit.2
+       ret void
+
+loopexit.3:            ; preds = %loopexit.2
+       br bool %tmp.21571, label %no_exit.6, label %no_exit.4
+
+no_exit.4:             ; preds = %loopexit.3
+       ret void
+
+no_exit.6:             ; preds = %no_exit.6, %loopexit.3
+       %tmp.30793 = setgt long 0, 0            ; <bool> [#uses=1]
+       br bool %tmp.30793, label %loopexit.6, label %no_exit.6
+
+loopexit.6:            ; preds = %no_exit.6
+       %Z.1 = select bool %tmp.36796, double 1.000000e+00, double 0x3FEFFF7CEDE74EAE           ; <double> [#uses=2]
+       tail call void (int, ...)* %printf( int 0, long 0, long 0, long 0, double 1.000000e+00, double 1.000000e+00, double %Z.1, double %Z.1 )
+       ret void
+}
diff --git a/test/CodeGen/Alpha/2006-01-26-VaargBreak.ll b/test/CodeGen/Alpha/2006-01-26-VaargBreak.ll
new file mode 100644 (file)
index 0000000..d282066
--- /dev/null
@@ -0,0 +1,17 @@
+; This shouldn't crash
+; RUN: llvm-as < %s | llc -march=alpha 
+
+; ModuleID = 'simp.bc'
+target endian = little
+target pointersize = 64
+target triple = "alphaev6-unknown-linux-gnu"
+deplibs = [ "c", "crtend", "stdc++" ]
+       %struct.__va_list_tag = type { sbyte*, int }
+
+implementation   ; Functions:
+
+uint %emit_library_call_value(int %nargs, ...) {
+entry:
+       %tmp.223 = va_arg %struct.__va_list_tag* null, uint             ; <uint> [#uses=0]
+       ret uint %tmp.223
+}