[llvm] [LegalizeTypes] Use SeleectionDAG::SplitVector to simplify some code. NFC (PR #92816)
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Mon May 20 12:57:23 PDT 2024
https://github.com/topperc created https://github.com/llvm/llvm-project/pull/92816
None
>From 5eaf67ffccd965d28404f410610e91086d1e2d4c Mon Sep 17 00:00:00 2001
From: Craig Topper <craig.topper at sifive.com>
Date: Mon, 20 May 2024 12:56:02 -0700
Subject: [PATCH] [LegalizeTypes] Use SeleectionDAG::SplitVector to simplify
some code. NFC
---
.../SelectionDAG/LegalizeVectorTypes.cpp | 17 ++---------------
1 file changed, 2 insertions(+), 15 deletions(-)
diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
index dca5a481fbd0e..ec05135915664 100644
--- a/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
@@ -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,
@@ -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) {
More information about the llvm-commits
mailing list