[LV] Don't attempt to type-shrink scalarized instructions
authorMatthew Simpson <mssimpso@codeaurora.org>
Fri, 16 Dec 2016 16:52:35 +0000 (16:52 +0000)
committerMatthew Simpson <mssimpso@codeaurora.org>
Fri, 16 Dec 2016 16:52:35 +0000 (16:52 +0000)
commit099af810de82cb7502319ea03e68883be516b5e0
tree1734bebadf17909862338d4a2c22387af685c0a5
parent27978005955754bf11b71766c08b768e9fb5c040
[LV] Don't attempt to type-shrink scalarized instructions

After r288909, instructions feeding predicated instructions may be scalarized
if profitable. Since these instructions will remain scalar, we shouldn't
attempt to type-shrink them. We should only truncate vector types to their
minimal bit widths. This bug was exposed by enabling the vectorization of loops
containing conditional stores by default.

llvm-svn: 289958
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
llvm/test/Transforms/LoopVectorize/if-pred-stores.ll