InstCombine: Only foldSelectICmpAndOr for integer types
authorJustin Bogner <mail@justinbogner.com>
Fri, 27 Sep 2013 20:35:39 +0000 (20:35 +0000)
committerJustin Bogner <mail@justinbogner.com>
Fri, 27 Sep 2013 20:35:39 +0000 (20:35 +0000)
commit5053537a301ee268d3e49f8cf0426f0c536be4e3
tree79c354ab853a4d4b3fc4c5efe23df8df81942396
parent200a7434f6abc1e469fdf1ee547bc3fe4fbfcc02
InstCombine: Only foldSelectICmpAndOr for integer types

Currently foldSelectICmpAndOr asserts if the "or" involves a vector
containing several of the same power of two. We can easily avoid this by
only performing the fold on integer types, like foldSelectICmpAnd does.

Fixes <rdar://problem/15012516>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191552 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/InstCombine/InstCombineSelect.cpp
test/Transforms/InstCombine/select.ll