BBVectorize: Check the input types of shuffles for legality
authorHal Finkel <hfinkel@anl.gov>
Mon, 12 Nov 2012 14:50:59 +0000 (14:50 +0000)
committerHal Finkel <hfinkel@anl.gov>
Mon, 12 Nov 2012 14:50:59 +0000 (14:50 +0000)
commit8b9796f4f83bea2bbefcd2822eb574abdb7f3d1b
treed4c612832e01d18da7a74a73a609571c378d1af7
parentdece7039dd40eea928ec10abc1e310a846b68dd7
BBVectorize: Check the input types of shuffles for legality

This fixes a bug where shuffles were being fused such that the
resulting input types were not legal on the target. This would
occur only when both inputs and dependencies were also foldable
operations (such as other shuffles) and there were other connected
pairs in the same block.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167731 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Vectorize/BBVectorize.cpp
test/Transforms/BBVectorize/X86/sh-types.ll [new file with mode: 0644]