summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-10-13 23:54:16 +0000
committerChris Lattner <sabre@nondot.org>2006-10-13 23:54:16 +0000
commit78298871eb0c8382b909010a6e5e65e1a2632b8c (patch)
treed3d4843ab0ed199040a314eb2ecce8e22ea9e306
parent274062c172bbdf70b8f717875ecf0dabb176c6e5 (diff)
testcase for recent selectiondag patch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30949 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/CodeGen/PowerPC/2006-10-13-Miscompile.ll19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/CodeGen/PowerPC/2006-10-13-Miscompile.ll b/test/CodeGen/PowerPC/2006-10-13-Miscompile.ll
new file mode 100644
index 00000000000..d19245945f5
--- /dev/null
+++ b/test/CodeGen/PowerPC/2006-10-13-Miscompile.ll
@@ -0,0 +1,19 @@
+; RUN: llvm-as < %s | llc -march=ppc32 &&
+; RUN: llvm-as < %s | llc -march=ppc32 | not grep IMPLICIT_DEF
+
+void %foo(long %X) {
+entry:
+ %tmp1 = and long %X, 3 ; <long> [#uses=1]
+ %tmp = setgt long %tmp1, 2 ; <bool> [#uses=1]
+ br bool %tmp, label %UnifiedReturnBlock, label %cond_true
+
+cond_true: ; preds = %entry
+ %tmp = tail call int (...)* %bar( ) ; <int> [#uses=0]
+ ret void
+
+UnifiedReturnBlock: ; preds = %entry
+ ret void
+}
+
+declare int %bar(...)
+