diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2011-03-11 11:37:40 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2011-03-11 11:37:40 +0000 |
commit | 6b4972518cff5b0f76ec63fc8b93b74ae64c3f3d (patch) | |
tree | 7ac5243accfb041a85b0de85e7f9d5a4ae976bb5 /test | |
parent | b69050a94c1c9266ab048a79c8375e5b14d87c72 (diff) | |
download | external_llvm-6b4972518cff5b0f76ec63fc8b93b74ae64c3f3d.zip external_llvm-6b4972518cff5b0f76ec63fc8b93b74ae64c3f3d.tar.gz external_llvm-6b4972518cff5b0f76ec63fc8b93b74ae64c3f3d.tar.bz2 |
InstCombine: Fix a thinko where transform an icmp under the assumption that it's a zero comparison when it's not.
Fixes PR9454.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127464 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/Transforms/InstCombine/select.ll | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/test/Transforms/InstCombine/select.ll b/test/Transforms/InstCombine/select.ll index ba9d99c..e9981a5 100644 --- a/test/Transforms/InstCombine/select.ll +++ b/test/Transforms/InstCombine/select.ll @@ -714,3 +714,13 @@ define i32 @test52(i32 %n, i32 %m) nounwind { ret i32 %storemerge } +; PR9454 +define i32 @test53(i32 %x) nounwind { + %and = and i32 %x, 2 + %cmp = icmp eq i32 %and, %x + %sel = select i1 %cmp, i32 2, i32 1 + ret i32 %sel +; CHECK: @test53 +; CHECK: select i1 %cmp +; CHECK: ret +} |