[llvm] [SLP][REVEC] Add getScalarizationOverhead helper function to reduce error when REVEC is enabled. (PR #128530)
Han-Kuan Chen via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 24 17:13:39 PST 2025
================
@@ -5221,9 +5256,9 @@ BoUpSLP::canVectorizeLoads(ArrayRef<Value *> VL, const Value *VL0,
PtrVecTy, DemandedElts, /*Insert=*/true, /*Extract=*/false, CostKind);
else
VectorGEPCost +=
- TTI.getScalarizationOverhead(
- PtrVecTy, APInt::getOneBitSet(VecTy->getNumElements(), 0),
- /*Insert=*/true, /*Extract=*/false, CostKind) +
+ TTI.getScalarizationOverhead(PtrVecTy, APInt::getOneBitSet(Sz, 0),
----------------
HanKuanChen wrote:
They share `DemandedElts` in Line 5278.
```
InstructionCost GatherCost =
getScalarizationOverhead(TTI, ScalarTy, VecTy, DemandedElts,
/*Insert=*/true,
/*Extract=*/false, CostKind) +
ScalarLoadsCost;
```
https://github.com/llvm/llvm-project/pull/128530
More information about the llvm-commits
mailing list