diff options
author | Craig Topper <craig.topper@intel.com> | 2018-02-27 00:07:24 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2018-02-27 00:07:24 +0000 |
commit | 6df870ca586632ea59afb7f2ce8723684cea9496 (patch) | |
tree | 64c6f4107404f3b45750ff4626b7a4e909626bd0 /llvm/lib/CodeGen | |
parent | 50339a2e84622f6c492a4b2f3dc5e79a6769399a (diff) | |
download | bcm5719-llvm-6df870ca586632ea59afb7f2ce8723684cea9496.tar.gz bcm5719-llvm-6df870ca586632ea59afb7f2ce8723684cea9496.zip |
[SelectionDAG] Remove code from PromoteIntRes_CONCAT_VECTORS that was added in r320674 to help X86.
AVX512 used to promote v32i1 to v32i8 during legalization when BWI was disabled. So this code was added to improve legalization of v32i1 concat_vectors of v16i1 by extending the v16i1 to v16i8 to avoid scalarization.
X86 has since switched to legalizing v32i1 by splitting to v16i1 instead. This has rendered this code unnecessary and its no longer exercised.
llvm-svn: 326153
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp | 15 |
1 files changed, 0 insertions, 15 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp index 8ef7911505f..d9364ed9050 100644 --- a/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp @@ -3488,21 +3488,6 @@ SDValue DAGTypeLegalizer::PromoteIntRes_CONCAT_VECTORS(SDNode *N) { assert(NumElem * NumOperands == NumOutElem && "Unexpected number of elements"); - // If the input type is legal and we can promote it to a legal type with the - // same element size, go ahead do that to create a new concat. - if (getTypeAction(N->getOperand(0).getValueType()) == - TargetLowering::TypeLegal) { - EVT InPromotedTy = EVT::getVectorVT(*DAG.getContext(), OutElemTy, NumElem); - if (TLI.isTypeLegal(InPromotedTy)) { - SmallVector<SDValue, 8> Ops(NumOperands); - for (unsigned i = 0; i < NumOperands; ++i) { - Ops[i] = DAG.getNode(ISD::ANY_EXTEND, dl, InPromotedTy, - N->getOperand(i)); - } - return DAG.getNode(ISD::CONCAT_VECTORS, dl, NOutVT, Ops); - } - } - // Take the elements from the first vector. SmallVector<SDValue, 8> Ops(NumOutElem); for (unsigned i = 0; i < NumOperands; ++i) { |