Skip to content

Commit

Permalink
[LegalizeTypes] Use SelectionDAG::SplitVector to simplify some code. …
Browse files Browse the repository at this point in the history
…NFC (#92816)
  • Loading branch information
topperc authored May 20, 2024
1 parent 110f6a7 commit 8018e4c
Showing 1 changed file with 2 additions and 15 deletions.
17 changes: 2 additions & 15 deletions llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2911,18 +2911,10 @@ void DAGTypeLegalizer::SplitVecRes_VECTOR_REVERSE(SDNode *N, SDValue &Lo,

void DAGTypeLegalizer::SplitVecRes_VECTOR_SPLICE(SDNode *N, SDValue &Lo,
SDValue &Hi) {
EVT VT = N->getValueType(0);
SDLoc DL(N);

EVT LoVT, HiVT;
std::tie(LoVT, HiVT) = DAG.GetSplitDestVTs(VT);

SDValue Expanded = TLI.expandVectorSplice(N, DAG);
Lo = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, LoVT, Expanded,
DAG.getVectorIdxConstant(0, DL));
Hi =
DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, HiVT, Expanded,
DAG.getVectorIdxConstant(LoVT.getVectorMinNumElements(), DL));
std::tie(Lo, Hi) = DAG.SplitVector(Expanded, DL);
}

void DAGTypeLegalizer::SplitVecRes_VP_REVERSE(SDNode *N, SDValue &Lo,
Expand Down Expand Up @@ -2967,12 +2959,7 @@ void DAGTypeLegalizer::SplitVecRes_VP_REVERSE(SDNode *N, SDValue &Lo,

SDValue Load = DAG.getLoadVP(VT, DL, Store, StackPtr, Mask, EVL, LoadMMO);

auto [LoVT, HiVT] = DAG.GetSplitDestVTs(VT);
Lo = DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, LoVT, Load,
DAG.getVectorIdxConstant(0, DL));
Hi =
DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, HiVT, Load,
DAG.getVectorIdxConstant(LoVT.getVectorMinNumElements(), DL));
std::tie(Lo, Hi) = DAG.SplitVector(Load, DL);
}

void DAGTypeLegalizer::SplitVecRes_VECTOR_DEINTERLEAVE(SDNode *N) {
Expand Down

0 comments on commit 8018e4c

Please sign in to comment.