[llvm] 687531f - [DAG] PromoteIntRes_EXTRACT_SUBVECTOR - pull out repeated getOperand/getVectorElementType calls. NFC.
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 4 09:13:12 PDT 2024
Author: Simon Pilgrim
Date: 2024-07-04T17:12:43+01:00
New Revision: 687531fbed080b86c31144bf66c29f4a30e10e84
URL: https://github.com/llvm/llvm-project/commit/687531fbed080b86c31144bf66c29f4a30e10e84
DIFF: https://github.com/llvm/llvm-project/commit/687531fbed080b86c31144bf66c29f4a30e10e84.diff
LOG: [DAG] PromoteIntRes_EXTRACT_SUBVECTOR - pull out repeated getOperand/getVectorElementType calls. NFC.
Added:
Modified:
llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
Removed:
################################################################################
diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
index a058b509b3aca7..38f8f072dccfd6 100644
--- a/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
@@ -5724,21 +5724,20 @@ SDValue DAGTypeLegalizer::PromoteIntRes_EXTRACT_SUBVECTOR(SDNode *N) {
SDValue InOp0 = N->getOperand(0);
if (getTypeAction(InOp0.getValueType()) == TargetLowering::TypePromoteInteger)
- InOp0 = GetPromotedInteger(N->getOperand(0));
+ InOp0 = GetPromotedInteger(InOp0);
EVT InVT = InOp0.getValueType();
+ EVT InSVT = InVT.getVectorElementType();
unsigned OutNumElems = OutVT.getVectorNumElements();
SmallVector<SDValue, 8> Ops;
Ops.reserve(OutNumElems);
for (unsigned i = 0; i != OutNumElems; ++i) {
-
// Extract the element from the original vector.
- SDValue Index = DAG.getNode(ISD::ADD, dl, BaseIdx.getValueType(),
- BaseIdx, DAG.getConstant(i, dl, BaseIdx.getValueType()));
- SDValue Ext = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl,
- InVT.getVectorElementType(), N->getOperand(0), Index);
-
+ SDValue Index = DAG.getNode(ISD::ADD, dl, BaseIdx.getValueType(), BaseIdx,
+ DAG.getConstant(i, dl, BaseIdx.getValueType()));
+ SDValue Ext = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, InSVT,
+ N->getOperand(0), Index);
SDValue Op = DAG.getAnyExtOrTrunc(Ext, dl, NOutVTElem);
// Insert the converted element to the new vector.
Ops.push_back(Op);
More information about the llvm-commits
mailing list