summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2009-11-27 16:04:14 +0000
committerDuncan Sands <baldrick@free.fr>2009-11-27 16:04:14 +0000
commitfb245e2d46df93784193c0e925d22a3f81ab721d (patch)
tree23c68e87733575bc2f5e1b08388761c77e2e09d6 /test
parentd40d14e98c271068d17585e81d45ee9eca147393 (diff)
downloadllvm-fb245e2d46df93784193c0e925d22a3f81ab721d.tar.gz
llvm-fb245e2d46df93784193c0e925d22a3f81ab721d.tar.bz2
llvm-fb245e2d46df93784193c0e925d22a3f81ab721d.tar.xz
While this test is testing a problem in the generic part of codegen,
the problem only shows for msp430 and pic16 which is why it specifies them using -march. But it is wrong to put such tests in CodeGen/Generic, since not everyone builds these targets. Put a copy of the test in each of the target test directories. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90005 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/CodeGen/MSP430/2009-11-20-NewNode.ll (renamed from test/CodeGen/Generic/2009-11-20-NewNode.ll)1
-rw-r--r--test/CodeGen/PIC16/2009-11-20-NewNode.ll36
2 files changed, 36 insertions, 1 deletions
diff --git a/test/CodeGen/Generic/2009-11-20-NewNode.ll b/test/CodeGen/MSP430/2009-11-20-NewNode.ll
index 92d7628f84..887c7d6fa2 100644
--- a/test/CodeGen/Generic/2009-11-20-NewNode.ll
+++ b/test/CodeGen/MSP430/2009-11-20-NewNode.ll
@@ -1,5 +1,4 @@
; RUN: llc -march=msp430 < %s
-; RUN: llc -march=pic16 < %s
; PR5558
define i64 @_strtoll_r(i16 %base) nounwind {
diff --git a/test/CodeGen/PIC16/2009-11-20-NewNode.ll b/test/CodeGen/PIC16/2009-11-20-NewNode.ll
new file mode 100644
index 0000000000..d68f0f41c4
--- /dev/null
+++ b/test/CodeGen/PIC16/2009-11-20-NewNode.ll
@@ -0,0 +1,36 @@
+; RUN: llc -march=pic16 < %s
+; PR5558
+
+define i64 @_strtoll_r(i16 %base) nounwind {
+entry:
+ br i1 undef, label %if.then, label %if.end27
+
+if.then: ; preds = %do.end
+ br label %if.end27
+
+if.end27: ; preds = %if.then, %do.end
+ %cond66 = select i1 undef, i64 -9223372036854775808, i64 9223372036854775807 ; <i64> [#uses=3]
+ %conv69 = sext i16 %base to i64 ; <i64> [#uses=1]
+ %div = udiv i64 %cond66, %conv69 ; <i64> [#uses=1]
+ br label %for.cond
+
+for.cond: ; preds = %if.end116, %if.end27
+ br i1 undef, label %if.then152, label %if.then93
+
+if.then93: ; preds = %for.cond
+ br i1 undef, label %if.end116, label %if.then152
+
+if.end116: ; preds = %if.then93
+ %cmp123 = icmp ugt i64 undef, %div ; <i1> [#uses=1]
+ %or.cond = or i1 undef, %cmp123 ; <i1> [#uses=0]
+ br label %for.cond
+
+if.then152: ; preds = %if.then93, %for.cond
+ br i1 undef, label %if.end182, label %if.then172
+
+if.then172: ; preds = %if.then152
+ ret i64 %cond66
+
+if.end182: ; preds = %if.then152
+ ret i64 %cond66
+}