aboutsummaryrefslogtreecommitdiffstats
path: root/test/CodeGen
diff options
context:
space:
mode:
authorAndrew Lenharth <andrewl@lenharth.org>2006-01-26 17:43:42 +0000
committerAndrew Lenharth <andrewl@lenharth.org>2006-01-26 17:43:42 +0000
commitc20dee356650a2f91533be5e36526f9774e0a1f8 (patch)
treefb855ee9e138fb40a5b1b9da2fbd22e9a4516085 /test/CodeGen
parent83cd8a0a6fae4add780a2289798c2aebfd031a18 (diff)
downloadexternal_llvm-c20dee356650a2f91533be5e36526f9774e0a1f8.zip
external_llvm-c20dee356650a2f91533be5e36526f9774e0a1f8.tar.gz
external_llvm-c20dee356650a2f91533be5e36526f9774e0a1f8.tar.bz2
added a couple test cases, including the new vaarg breakage
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25648 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen')
-rw-r--r--test/CodeGen/Alpha/2005-12-12-MissingFCMov.ll44
-rw-r--r--test/CodeGen/Alpha/2006-01-26-VaargBreak.ll17
2 files changed, 61 insertions, 0 deletions
diff --git a/test/CodeGen/Alpha/2005-12-12-MissingFCMov.ll b/test/CodeGen/Alpha/2005-12-12-MissingFCMov.ll
new file mode 100644
index 0000000..7307d96
--- /dev/null
+++ b/test/CodeGen/Alpha/2005-12-12-MissingFCMov.ll
@@ -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
index 0000000..d282066
--- /dev/null
+++ b/test/CodeGen/Alpha/2006-01-26-VaargBreak.ll
@@ -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
+}