aboutsummaryrefslogtreecommitdiff
path: root/test/Transforms
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-01-13 20:59:02 +0000
committerChris Lattner <sabre@nondot.org>2008-01-13 20:59:02 +0000
commitee2b7a4530736d311fb3e2eae551e0acdb919354 (patch)
tree58a288ca2539ed7d4cc29c698174f25b992b3a76 /test/Transforms
parent1fac17f2e7dafbbe2619bbd253dd7b957052f5e0 (diff)
Fix PR1907, a nasty miscompilation because instcombine didn't
realize that ne & sgt was a signed comparison (it was only looking at whether the left compare was signed). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45937 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms')
-rw-r--r--test/Transforms/InstCombine/2008-01-13-AndCmpCmp.ll9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/Transforms/InstCombine/2008-01-13-AndCmpCmp.ll b/test/Transforms/InstCombine/2008-01-13-AndCmpCmp.ll
new file mode 100644
index 0000000000..71d5bf762c
--- /dev/null
+++ b/test/Transforms/InstCombine/2008-01-13-AndCmpCmp.ll
@@ -0,0 +1,9 @@
+; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep and
+; PR1907
+
+define i1 @test(i32 %c84.17) {
+ %tmp2696 = icmp ne i32 %c84.17, 34 ; <i1> [#uses=2]
+ %tmp2699 = icmp sgt i32 %c84.17, -1 ; <i1> [#uses=1]
+ %tmp2703 = and i1 %tmp2696, %tmp2699 ; <i1> [#uses=1]
+ ret i1 %tmp2703
+}