aboutsummaryrefslogtreecommitdiffstats
path: root/test/Transforms/InstSimplify
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2012-03-05 23:09:40 +0000
committerEli Friedman <eli.friedman@gmail.com>2012-03-05 23:09:40 +0000
commit049d08f5c9e4f9f5c71d8f8d08d846ba15f2ae99 (patch)
treed485f0f784f5e115de00b93339a29b8ff6495c4d /test/Transforms/InstSimplify
parentc3384c93c0e4c50da4ad093f08997507f9281c75 (diff)
downloadexternal_llvm-049d08f5c9e4f9f5c71d8f8d08d846ba15f2ae99.zip
external_llvm-049d08f5c9e4f9f5c71d8f8d08d846ba15f2ae99.tar.gz
external_llvm-049d08f5c9e4f9f5c71d8f8d08d846ba15f2ae99.tar.bz2
Make sure we don't return bits outside the mask in ComputeMaskedBits. PR12189.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152066 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/InstSimplify')
-rw-r--r--test/Transforms/InstSimplify/phi.ll22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/Transforms/InstSimplify/phi.ll b/test/Transforms/InstSimplify/phi.ll
new file mode 100644
index 0000000..05cd40d
--- /dev/null
+++ b/test/Transforms/InstSimplify/phi.ll
@@ -0,0 +1,22 @@
+; RUN: opt < %s -instsimplify -S | FileCheck %s
+
+; PR12189
+define i1 @test1(i32 %x) {
+; CHECK: @test1
+ br i1 true, label %a, label %b
+
+a:
+ %aa = or i32 %x, 10
+ br label %c
+
+b:
+ %bb = or i32 %x, 10
+ br label %c
+
+c:
+ %cc = phi i32 [ %bb, %b ], [%aa, %a ]
+ %d = urem i32 %cc, 2
+ %e = icmp eq i32 %d, 0
+ ret i1 %e
+; CHECK: ret i1 %e
+}