InstCombine: Fold more shuffles of shuffles.
authorJim Grosbach <grosbach@apple.com>
Tue, 30 Apr 2013 20:43:52 +0000 (20:43 +0000)
committerJim Grosbach <grosbach@apple.com>
Tue, 30 Apr 2013 20:43:52 +0000 (20:43 +0000)
commit6548096a2e2b34e685680e6e1055b8e407c2c243
tree01207a2ecc461f37c2a8e790c952afb18f27d9ee
parentb0caf5ff64962fd9ff2977d7c31d6bb88fb8a8a5
InstCombine: Fold more shuffles of shuffles.

Always fold a shuffle-of-shuffle into a single shuffle when there's only one
input vector in the first place. Continue to be more conservative when there's
multiple inputs.

rdar://13402653
PR15866

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180802 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/InstCombine/InstCombineVectorOps.cpp
test/Transforms/BBVectorize/simple.ll
test/Transforms/InstCombine/vec_shuffle.ll