[Mlir-commits] [mlir] dde327a - [MLIR][linalg] Move transform options at their last use (NFC) (#221076)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Thu Sep 3 15:54:28 PDT 2026
Author: Mehdi Amini
Date: 2026-09-03T22:54:22Z
New Revision: dde327a01fc50e279c4aa7406fd1b0055991fedf
URL: https://github.com/llvm/llvm-project/commit/dde327a01fc50e279c4aa7406fd1b0055991fedf
DIFF: https://github.com/llvm/llvm-project/commit/dde327a01fc50e279c4aa7406fd1b0055991fedf.diff
LOG: [MLIR][linalg] Move transform options at their last use (NFC) (#221076)
Move locally assembled tiling and padding options into their owning
destinations at their last use. Remove a self-copy assignment around
setTileSizes while preserving its mutation.
Found by Coverity.
Assisted-by: Codex
Added:
Modified:
mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
Removed:
################################################################################
diff --git a/mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp b/mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
index 8299e1c2edb41..68e353b33eca3 100644
--- a/mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
+++ b/mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
@@ -755,14 +755,14 @@ transform::FuseOp::apply(transform::TransformRewriter &rewriter,
return status;
scf::SCFTilingOptions tilingOptions;
- tilingOptions.interchangeVector = tileInterchange;
+ tilingOptions.interchangeVector = std::move(tileInterchange);
bool useForall = getUseForall();
tilingOptions.setLoopType(useForall
? scf::SCFTilingOptions::LoopType::ForallOp
: scf::SCFTilingOptions::LoopType::ForOp);
- tilingOptions = tilingOptions.setTileSizes(mixedTileSizes);
+ tilingOptions.setTileSizes(mixedTileSizes);
scf::SCFTileAndFuseOptions tileAndFuseOptions;
- tileAndFuseOptions.tilingOptions = tilingOptions;
+ tileAndFuseOptions.tilingOptions = std::move(tilingOptions);
// Optional caller-asserted pack/unpack inner-tile alignment (see
// InnerTileAlignment).
tileAndFuseOptions.tilingOptions.setInnerTileAlignments(
@@ -2295,9 +2295,9 @@ transform::PadOp::apply(transform::TransformRewriter &rewriter,
padToMultipleOf =
SmallVector<int64_t>(options.paddingDimensions.size(), 1);
- options.padToMultipleOf = padToMultipleOf;
- options.paddingValues = paddingValues;
- options.nofoldFlags = nofoldFlags;
+ options.padToMultipleOf = std::move(padToMultipleOf);
+ options.paddingValues = std::move(paddingValues);
+ options.nofoldFlags = std::move(nofoldFlags);
if (getCopyBackOp() ==
bufferization::MaterializeInDestinationOp::getOperationName()) {
options.copyBackOp = LinalgPaddingOptions::CopyBackOp::
@@ -2528,14 +2528,15 @@ transform::PadTilingInterfaceOp::apply(transform::TransformRewriter &rewriter,
// Set options.
PadTilingInterfaceOptions options;
- options.setPaddingValues(paddingValues)
- .setPaddingSizes(getMixedPaddingSizes())
+ options.paddingValues = std::move(paddingValues);
+ options.setPaddingSizes(getMixedPaddingSizes())
.setPadToMultipleOf(getPadToMultipleOf());
OpBuilder::InsertionGuard g(rewriter);
rewriter.setInsertionPointAfter(targetOp);
auto maybePadOps = rewriteAsPaddedOp(
- rewriter, cast<TilingInterface>(targetOp.getOperation()), options);
+ rewriter, cast<TilingInterface>(targetOp.getOperation()),
+ std::move(options));
if (failed(maybePadOps)) {
auto diag = emitSilenceableError() << "failed to pad op";
diag.attachNote(target->getLoc()) << "target op";
More information about the Mlir-commits
mailing list