[Mlir-commits] [mlir] [mlir] Use `llvm::fill` instead of `std::fill`(NFC) (PR #146889)
Longsheng Mou
llvmlistbot at llvm.org
Thu Jul 3 06:46:41 PDT 2025
https://github.com/CoTinker created https://github.com/llvm/llvm-project/pull/146889
None
>From 88f7529e0f11128faa38f6cb82d3cd570bc5237f Mon Sep 17 00:00:00 2001
From: Longsheng Mou <longshengmou at gmail.com>
Date: Thu, 3 Jul 2025 21:44:16 +0800
Subject: [PATCH] [mlir] Use `llvm::fill` instead of `std::fill`(NFC)
---
mlir/lib/Analysis/Presburger/IntegerRelation.cpp | 8 ++++----
mlir/lib/Analysis/Presburger/PWMAFunction.cpp | 2 +-
mlir/lib/Bindings/Python/IRAttributes.cpp | 2 +-
mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp | 4 ++--
mlir/lib/Dialect/Affine/Analysis/AffineStructures.cpp | 2 +-
mlir/lib/Dialect/Affine/Analysis/Utils.cpp | 2 +-
mlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp | 7 +++----
.../Transforms/Utils/IterationGraphSorter.cpp | 4 ++--
mlir/lib/IR/AffineExpr.cpp | 6 +++---
mlir/lib/Pass/Pass.cpp | 2 +-
mlir/lib/Transforms/Utils/Inliner.cpp | 2 +-
11 files changed, 20 insertions(+), 21 deletions(-)
diff --git a/mlir/lib/Analysis/Presburger/IntegerRelation.cpp b/mlir/lib/Analysis/Presburger/IntegerRelation.cpp
index 631e085574fd0..17e48e0d069b7 100644
--- a/mlir/lib/Analysis/Presburger/IntegerRelation.cpp
+++ b/mlir/lib/Analysis/Presburger/IntegerRelation.cpp
@@ -2214,7 +2214,7 @@ IntegerRelation::unionBoundingBox(const IntegerRelation &otherCst) {
auto constOtherLb = otherCst.getConstantBound(BoundType::LB, d);
if (!constLb.has_value() || !constOtherLb.has_value())
return failure();
- std::fill(minLb.begin(), minLb.end(), 0);
+ llvm::fill(minLb, 0);
minLb.back() = std::min(*constLb, *constOtherLb);
}
@@ -2230,12 +2230,12 @@ IntegerRelation::unionBoundingBox(const IntegerRelation &otherCst) {
auto constOtherUb = otherCst.getConstantBound(BoundType::UB, d);
if (!constUb.has_value() || !constOtherUb.has_value())
return failure();
- std::fill(maxUb.begin(), maxUb.end(), 0);
+ llvm::fill(maxUb, 0);
maxUb.back() = std::max(*constUb, *constOtherUb);
}
- std::fill(newLb.begin(), newLb.end(), 0);
- std::fill(newUb.begin(), newUb.end(), 0);
+ llvm::fill(newLb, 0);
+ llvm::fill(newUb, 0);
// The divisor for lb, ub, otherLb, otherUb at this point is lbDivisor,
// and so it's the divisor for newLb and newUb as well.
diff --git a/mlir/lib/Analysis/Presburger/PWMAFunction.cpp b/mlir/lib/Analysis/Presburger/PWMAFunction.cpp
index 3ed77998c92ad..55d17ad47e991 100644
--- a/mlir/lib/Analysis/Presburger/PWMAFunction.cpp
+++ b/mlir/lib/Analysis/Presburger/PWMAFunction.cpp
@@ -143,7 +143,7 @@ void MultiAffineFunction::mergeDivs(MultiAffineFunction &other) {
SmallVector<DynamicAPInt, 8> div(other.divs.getNumVars() + 1);
for (unsigned i = 0; i < nDivs; ++i) {
// Zero fill.
- std::fill(div.begin(), div.end(), 0);
+ llvm::fill(div, 0);
// Fill div with dividend from `divs`. Do not fill the constant.
std::copy(divs.getDividend(i).begin(), divs.getDividend(i).end() - 1,
div.begin());
diff --git a/mlir/lib/Bindings/Python/IRAttributes.cpp b/mlir/lib/Bindings/Python/IRAttributes.cpp
index 12725a0ed0939..8f79caf08a6d0 100644
--- a/mlir/lib/Bindings/Python/IRAttributes.cpp
+++ b/mlir/lib/Bindings/Python/IRAttributes.cpp
@@ -1670,7 +1670,7 @@ class PyStridedLayoutAttribute
[](int64_t rank, DefaultingPyMlirContext ctx) {
auto dynamic = mlirShapedTypeGetDynamicStrideOrOffset();
std::vector<int64_t> strides(rank);
- std::fill(strides.begin(), strides.end(), dynamic);
+ llvm::fill(strides, dynamic);
MlirAttribute attr = mlirStridedLayoutAttrGet(
ctx->get(), dynamic, strides.size(), strides.data());
return PyStridedLayoutAttribute(ctx->getRef(), attr);
diff --git a/mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp b/mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp
index 6f79665c2bb60..a8067349344bf 100644
--- a/mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp
+++ b/mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp
@@ -391,7 +391,7 @@ static void addOrderingConstraints(const FlatAffineValueConstraints &srcDomain,
unsigned numCommonLoops = getNumCommonLoops(srcDomain, dstDomain);
unsigned numCommonLoopConstraints = std::min(numCommonLoops, loopDepth);
for (unsigned i = 0; i < numCommonLoopConstraints; ++i) {
- std::fill(eq.begin(), eq.end(), 0);
+ llvm::fill(eq, 0);
eq[i] = -1;
eq[i + numSrcDims] = 1;
if (i == loopDepth - 1) {
@@ -433,7 +433,7 @@ static void computeDirectionVector(
// Constraint variables format:
// [num-common-loops][num-src-dim-ids][num-dst-dim-ids][num-symbols][constant]
for (unsigned j = 0; j < numCommonLoops; ++j) {
- std::fill(eq.begin(), eq.end(), 0);
+ llvm::fill(eq, 0);
eq[j] = 1;
eq[j + numCommonLoops] = 1;
eq[j + numCommonLoops + numSrcDims] = -1;
diff --git a/mlir/lib/Dialect/Affine/Analysis/AffineStructures.cpp b/mlir/lib/Dialect/Affine/Analysis/AffineStructures.cpp
index f344d59234e6a..150a08bf17e12 100644
--- a/mlir/lib/Dialect/Affine/Analysis/AffineStructures.cpp
+++ b/mlir/lib/Dialect/Affine/Analysis/AffineStructures.cpp
@@ -526,7 +526,7 @@ LogicalResult mlir::affine::getRelationFromMap(AffineMap &map,
SmallVector<int64_t, 8> eq(localVarCst.getNumCols());
for (unsigned i = 0, e = map.getNumResults(); i < e; ++i) {
// Zero fill.
- std::fill(eq.begin(), eq.end(), 0);
+ llvm::fill(eq, 0);
// Fill equality.
for (unsigned j = 0, f = oldDimNum; j < f; ++j)
eq[j] = flatExprs[i][j];
diff --git a/mlir/lib/Dialect/Affine/Analysis/Utils.cpp b/mlir/lib/Dialect/Affine/Analysis/Utils.cpp
index 3144ca723df90..87fc8173a9643 100644
--- a/mlir/lib/Dialect/Affine/Analysis/Utils.cpp
+++ b/mlir/lib/Dialect/Affine/Analysis/Utils.cpp
@@ -1432,7 +1432,7 @@ LogicalResult mlir::affine::boundCheckLoadOrStoreOp(LoadOrStoreOp loadOrStoreOp,
// Check for a negative index.
FlatAffineValueConstraints lcst(*region.getConstraints());
- std::fill(ineq.begin(), ineq.end(), 0);
+ llvm::fill(ineq, 0);
// d_i <= -1;
lcst.addBound(BoundType::UB, r, -1);
outOfBounds = !lcst.isEmpty();
diff --git a/mlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp b/mlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp
index 45bda68bb8639..b1b0143a08ee8 100644
--- a/mlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp
+++ b/mlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp
@@ -121,7 +121,7 @@ void LoopTiling::getTileSizes(ArrayRef<AffineForOp> band,
// If the cache size is zero, set the minimum valid tile size. No good reason
// to pick another specific size over this.
if (cacheSizeInKiB == 0) {
- std::fill(tileSizes->begin(), tileSizes->end(), 1);
+ llvm::fill(*tileSizes, 1);
return;
}
@@ -136,8 +136,7 @@ void LoopTiling::getTileSizes(ArrayRef<AffineForOp> band,
std::optional<int64_t> fp = getMemoryFootprintBytes(band[0], 0);
if (!fp) {
// Fill with default tile sizes if footprint is unknown.
- std::fill(tileSizes->begin(), tileSizes->end(),
- LoopTiling::kDefaultTileSize);
+ llvm::fill(*tileSizes, LoopTiling::kDefaultTileSize);
if (avoidMaxMinBounds)
adjustToDivisorsOfTripCounts(band, tileSizes);
LLVM_DEBUG(
@@ -151,7 +150,7 @@ void LoopTiling::getTileSizes(ArrayRef<AffineForOp> band,
uint64_t excessFactor = llvm::divideCeil(*fp, cacheSizeBytes);
if (excessFactor <= 1) {
// No need of any tiling - set tile size to 1.
- std::fill(tileSizes->begin(), tileSizes->end(), 1);
+ llvm::fill(*tileSizes, 1);
return;
}
diff --git a/mlir/lib/Dialect/SparseTensor/Transforms/Utils/IterationGraphSorter.cpp b/mlir/lib/Dialect/SparseTensor/Transforms/Utils/IterationGraphSorter.cpp
index 8981de58306da..347363f20d746 100644
--- a/mlir/lib/Dialect/SparseTensor/Transforms/Utils/IterationGraphSorter.cpp
+++ b/mlir/lib/Dialect/SparseTensor/Transforms/Utils/IterationGraphSorter.cpp
@@ -167,10 +167,10 @@ IterationGraphSorter::IterationGraphSorter(
AffineMap IterationGraphSorter::sort(SortMask mask, Value ignored) {
// Reset the adjacency matrix that represents the iteration graph.
for (auto &row : itGraph)
- std::fill(row.begin(), row.end(), false);
+ llvm::fill(row, false);
// Reset in-degree.
- std::fill(inDegree.begin(), inDegree.end(), 0);
+ llvm::fill(inDegree, 0);
// Add the constraints for the loop to level map.
for (auto [in, map] : llvm::zip(ins, loop2InsLvl)) {
diff --git a/mlir/lib/IR/AffineExpr.cpp b/mlir/lib/IR/AffineExpr.cpp
index a9f0d786dfdfa..879e310822815 100644
--- a/mlir/lib/IR/AffineExpr.cpp
+++ b/mlir/lib/IR/AffineExpr.cpp
@@ -1371,7 +1371,7 @@ LogicalResult SimpleAffineExprFlattener::visitModExpr(AffineBinaryOpExpr expr) {
break;
// If yes, modulo expression here simplifies to zero.
if (i == lhs.size()) {
- std::fill(lhs.begin(), lhs.end(), 0);
+ llvm::fill(lhs, 0);
return success();
}
@@ -1451,7 +1451,7 @@ LogicalResult SimpleAffineExprFlattener::addLocalVariableSemiAffine(
if (failed(addLocalIdSemiAffine(lhs, rhs, localExpr)))
return failure();
}
- std::fill(result.begin(), result.end(), 0);
+ llvm::fill(result, 0);
if (loc == -1)
result[getLocalVarStartIndex() + numLocals - 1] = 1;
else
@@ -1538,7 +1538,7 @@ LogicalResult SimpleAffineExprFlattener::visitDivExpr(AffineBinaryOpExpr expr,
}
// Set the expression on stack to the local var introduced to capture the
// result of the division (floor or ceil).
- std::fill(lhs.begin(), lhs.end(), 0);
+ llvm::fill(lhs, 0);
if (loc == -1)
lhs[getLocalVarStartIndex() + numLocals - 1] = 1;
else
diff --git a/mlir/lib/Pass/Pass.cpp b/mlir/lib/Pass/Pass.cpp
index d1371d2b508f4..dafec39fd5eb0 100644
--- a/mlir/lib/Pass/Pass.cpp
+++ b/mlir/lib/Pass/Pass.cpp
@@ -829,7 +829,7 @@ void OpToOpPassAdaptor::runOnOperationAsyncImpl(bool verifyPasses) {
// An atomic failure variable for the async executors.
std::vector<std::atomic<bool>> activePMs(asyncExecutors.size());
- std::fill(activePMs.begin(), activePMs.end(), false);
+ llvm::fill(activePMs, false);
std::atomic<bool> hasFailure = false;
parallelForEach(context, opInfos, [&](OpPMInfo &opInfo) {
// Find an executor for this operation.
diff --git a/mlir/lib/Transforms/Utils/Inliner.cpp b/mlir/lib/Transforms/Utils/Inliner.cpp
index e99bf240096cc..b639e87f52744 100644
--- a/mlir/lib/Transforms/Utils/Inliner.cpp
+++ b/mlir/lib/Transforms/Utils/Inliner.cpp
@@ -539,7 +539,7 @@ Inliner::Impl::optimizeSCCAsync(MutableArrayRef<CallGraphNode *> nodesToVisit,
// An atomic failure variable for the async executors.
std::vector<std::atomic<bool>> activePMs(pipelines.size());
- std::fill(activePMs.begin(), activePMs.end(), false);
+ llvm::fill(activePMs, false);
return failableParallelForEach(ctx, nodesToVisit, [&](CallGraphNode *node) {
// Find a pass manager for this operation.
auto it = llvm::find_if(activePMs, [](std::atomic<bool> &isActive) {
More information about the Mlir-commits
mailing list