OSDN Git Service

[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)
commit0d74daca01d1fc84f58a2c09766f63294a7293fc
treefa600451c197730c5d95e46111c5d1ec85995395
parentfc9466dd054ec954141b19ebda10cfc2a1d3efb2
[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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@327446 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
test/CodeGen/X86/broadcast-elm-cross-splat-vec.ll
test/CodeGen/X86/known-signbits-vector.ll
test/CodeGen/X86/shrink_vmul.ll
test/CodeGen/X86/subvector-broadcast.ll
test/CodeGen/X86/vector-shift-ashr-256.ll
test/CodeGen/X86/vector-shift-lshr-256.ll
test/CodeGen/X86/vector-shift-shl-256.ll