[llvm] 8a4b7de - [SLP][NFC]Make TTIRef capture argument instead of outer declaration.
Alexey Bataev via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 12 13:53:27 PDT 2024
Author: Alexey Bataev
Date: 2024-04-12T13:44:26-07:00
New Revision: 8a4b7de91dc334c828674aa2cad927c6ffb9cf37
URL: https://github.com/llvm/llvm-project/commit/8a4b7de91dc334c828674aa2cad927c6ffb9cf37
DIFF: https://github.com/llvm/llvm-project/commit/8a4b7de91dc334c828674aa2cad927c6ffb9cf37.diff
LOG: [SLP][NFC]Make TTIRef capture argument instead of outer declaration.
Added:
Modified:
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
index df891371fdf758..7b5b0efca8d3f0 100644
--- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
@@ -4895,14 +4895,10 @@ void BoUpSLP::reorderTopToBottom() {
// Maps a TreeEntry to the reorder indices of external users.
DenseMap<const TreeEntry *, SmallVector<OrdersType, 1>>
ExternalUserReorderMap;
- // FIXME: Workaround for syntax error reported by MSVC buildbots.
- TargetTransformInfo &TTIRef = *TTI;
// Find all reorderable nodes with the given VF.
// Currently the are vectorized stores,loads,extracts + some gathering of
// extracts.
- for_each(VectorizableTree, [this, &TTIRef, &VFToOrderedEntries,
- &GathersToOrders, &ExternalUserReorderMap,
- &AltShufflesToOrders, &PhisToOrders](
+ for_each(VectorizableTree, [&, &TTIRef = *TTI](
const std::unique_ptr<TreeEntry> &TE) {
// Look for external users that will probably be vectorized.
SmallVector<OrdersType, 1> ExternalUserReorderIndices =
@@ -9288,11 +9284,9 @@ BoUpSLP::getEntryCost(const TreeEntry *E, ArrayRef<Value *> VectorizedVals,
(void)E;
return TTI->getInstructionCost(VI, CostKind);
};
- // FIXME: Workaround for syntax error reported by MSVC buildbots.
- TargetTransformInfo &TTIRef = *TTI;
// Need to clear CommonCost since the final shuffle cost is included into
// vector cost.
- auto GetVectorCost = [&](InstructionCost) {
+ auto GetVectorCost = [&, &TTIRef = *TTI](InstructionCost) {
// VecCost is equal to sum of the cost of creating 2 vectors
// and the cost of creating shuffle.
InstructionCost VecCost = 0;
More information about the llvm-commits
mailing list