[DAGCombiner] Allow visitEXTRACT_SUBVECTOR to combine with BUILD_VECTORS between...
authorCraig Topper <craig.topper@intel.com>
Tue, 13 Mar 2018 20:36:28 +0000 (20:36 +0000)
committerCraig Topper <craig.topper@intel.com>
Tue, 13 Mar 2018 20:36:28 +0000 (20:36 +0000)
commit4aeec519863587d7d744f37d5fe9eea7c2e23036
tree1b63d532cd50c482ebd1e7be11784b7f24b69ee7
parent5bcb9d7211f36d7d27797699c2915df6561c69f7
[DAGCombiner] Allow visitEXTRACT_SUBVECTOR to combine with BUILD_VECTORS between LegalizeVectorOps and LegalizeDAG.

BUILD_VECTORs aren't themselves legalized until LegalizeDAG so we should still be able to create an "illegal" one before that. This helps combine with BUILD_VECTORS that are introduced during LegalizeVectorOps due to unrolling.

llvm-svn: 327446
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
llvm/test/CodeGen/X86/broadcast-elm-cross-splat-vec.ll
llvm/test/CodeGen/X86/known-signbits-vector.ll
llvm/test/CodeGen/X86/shrink_vmul.ll
llvm/test/CodeGen/X86/subvector-broadcast.ll
llvm/test/CodeGen/X86/vector-shift-ashr-256.ll
llvm/test/CodeGen/X86/vector-shift-lshr-256.ll
llvm/test/CodeGen/X86/vector-shift-shl-256.ll