Revert:
authorEric Christopher <echristo@gmail.com>
Tue, 24 Feb 2015 19:11:00 +0000 (19:11 +0000)
committerEric Christopher <echristo@gmail.com>
Tue, 24 Feb 2015 19:11:00 +0000 (19:11 +0000)
commitaf48495130f8b79ae892bd0d9b6d0cacf6ccd63f
tree5690fdeaa3a631da9f2497ca1d1f89d108050a1a
parentfe59972bbcf872130fdbfd9ab79b84f15fb16932
Revert:

Author: Simon Pilgrim <llvm-dev@redking.me.uk>
Date:   Mon Feb 23 23:04:28 2015 +0000

    Fix based on post-commit comment on D7816 & rL230177 - BUILD_VECTOR operand truncation was using the the BV's output scalar type instead of the input type.

and

Author: Simon Pilgrim <llvm-dev@redking.me.uk>
Date:   Sun Feb 22 18:17:28 2015 +0000

    [DagCombiner] Generalized BuildVector Vector Concatenation

    The CONCAT_VECTORS combiner pass can transform the concat of two BUILD_VECTOR nodes into a single BUILD_VECTOR node.

    This patch generalises this to support any number of BUILD_VECTOR nodes, and also permits UNDEF nodes to be included as well.

    This was noticed as AVX vec128 -> vec256 canonicalization sometimes creates a CONCAT_VECTOR with a real vec128 lower and an vec128 UNDEF upper.

    Differential Revision: http://reviews.llvm.org/D7816

as the root cause of PR22678 which is causing an assertion inside the DAG combiner.

I'll follow up to the main thread as well.

llvm-svn: 230358
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
llvm/test/CodeGen/X86/vector-zext.ll