diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2012-03-05 23:09:40 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2012-03-05 23:09:40 +0000 |
commit | 049d08f5c9e4f9f5c71d8f8d08d846ba15f2ae99 (patch) | |
tree | d485f0f784f5e115de00b93339a29b8ff6495c4d /test/Transforms | |
parent | c3384c93c0e4c50da4ad093f08997507f9281c75 (diff) | |
download | external_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')
-rw-r--r-- | test/Transforms/InstSimplify/phi.ll | 22 |
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 +} |