[llvm] ee4002d - [TargetLowering] Use getExtractSubvector/getExtractVectorElt. NFC
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Wed May 21 12:07:12 PDT 2025
Author: Craig Topper
Date: 2025-05-21T12:06:54-07:00
New Revision: ee4002da2b8bea2405f03400fc39fa9c9d812be9
URL: https://github.com/llvm/llvm-project/commit/ee4002da2b8bea2405f03400fc39fa9c9d812be9
DIFF: https://github.com/llvm/llvm-project/commit/ee4002da2b8bea2405f03400fc39fa9c9d812be9.diff
LOG: [TargetLowering] Use getExtractSubvector/getExtractVectorElt. NFC
Added:
Modified:
llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Removed:
################################################################################
diff --git a/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp b/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
index 22b962958fc35..75c9bbaec7603 100644
--- a/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
@@ -10091,8 +10091,7 @@ SDValue TargetLowering::scalarizeVectorStore(StoreSDNode *ST,
SDValue CurrVal = DAG.getConstant(0, SL, IntVT);
for (unsigned Idx = 0; Idx < NumElem; ++Idx) {
- SDValue Elt = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, SL, RegSclVT, Value,
- DAG.getVectorIdxConstant(Idx, SL));
+ SDValue Elt = DAG.getExtractVectorElt(SL, RegSclVT, Value, Idx);
SDValue Trunc = DAG.getNode(ISD::TRUNCATE, SL, MemSclVT, Elt);
SDValue ExtElt = DAG.getNode(ISD::ZERO_EXTEND, SL, IntVT, Trunc);
unsigned ShiftIntoIdx =
@@ -10116,8 +10115,7 @@ SDValue TargetLowering::scalarizeVectorStore(StoreSDNode *ST,
// memory individually.
SmallVector<SDValue, 8> Stores;
for (unsigned Idx = 0; Idx < NumElem; ++Idx) {
- SDValue Elt = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, SL, RegSclVT, Value,
- DAG.getVectorIdxConstant(Idx, SL));
+ SDValue Elt = DAG.getExtractVectorElt(SL, RegSclVT, Value, Idx);
SDValue Ptr =
DAG.getObjectPtrOffset(SL, BasePtr, TypeSize::getFixed(Idx * Stride));
@@ -11840,9 +11838,7 @@ SDValue TargetLowering::expandVECTOR_COMPRESS(SDNode *Node,
unsigned NumElms = VecVT.getVectorNumElements();
for (unsigned I = 0; I < NumElms; I++) {
- SDValue Idx = DAG.getVectorIdxConstant(I, DL);
-
- SDValue ValI = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, ScalarVT, Vec, Idx);
+ SDValue ValI = DAG.getExtractVectorElt(DL, ScalarVT, Vec, I);
SDValue OutPtr = getVectorElementPointer(DAG, StackPtr, VecVT, OutPos);
Chain = DAG.getStore(
Chain, DL, ValI, OutPtr,
@@ -11851,8 +11847,8 @@ SDValue TargetLowering::expandVECTOR_COMPRESS(SDNode *Node,
// Get the mask value and add it to the current output position. This
// either increments by 1 if MaskI is true or adds 0 otherwise.
// Freeze in case we have poison/undef mask entries.
- SDValue MaskI = DAG.getFreeze(
- DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, MaskScalarVT, Mask, Idx));
+ SDValue MaskI =
+ DAG.getFreeze(DAG.getExtractVectorElt(DL, MaskScalarVT, Mask, I));
MaskI = DAG.getFreeze(MaskI);
MaskI = DAG.getNode(ISD::TRUNCATE, DL, MVT::i1, MaskI);
MaskI = DAG.getNode(ISD::ZERO_EXTEND, DL, PositionVT, MaskI);
@@ -11910,11 +11906,8 @@ SDValue TargetLowering::expandPartialReduceMLA(SDNode *N,
// Collect all of the subvectors
std::deque<SDValue> Subvectors = {Acc};
- for (unsigned I = 0; I < ScaleFactor; I++) {
- auto SourceIndex = DAG.getVectorIdxConstant(I * Stride, DL);
- Subvectors.push_back(
- DAG.getNode(ISD::EXTRACT_SUBVECTOR, DL, AccVT, {Input, SourceIndex}));
- }
+ for (unsigned I = 0; I < ScaleFactor; I++)
+ Subvectors.push_back(DAG.getExtractSubvector(DL, AccVT, Input, I * Stride));
// Flatten the subvector tree
while (Subvectors.size() > 1) {
More information about the llvm-commits
mailing list