diff --git a/mlir/include/mlir/Dialect/Async/Transforms.h b/mlir/include/mlir/Dialect/Async/Transforms.h --- a/mlir/include/mlir/Dialect/Async/Transforms.h +++ b/mlir/include/mlir/Dialect/Async/Transforms.h @@ -32,7 +32,7 @@ /// operations. void populateAsyncParallelForPatterns( RewritePatternSet &patterns, bool asyncDispatch, int32_t numWorkerThreads, - AsyncMinTaskSizeComputationFunction computeMinTaskSize); + const AsyncMinTaskSizeComputationFunction &computeMinTaskSize); } // namespace async } // namespace mlir diff --git a/mlir/include/mlir/TableGen/GenInfo.h b/mlir/include/mlir/TableGen/GenInfo.h --- a/mlir/include/mlir/TableGen/GenInfo.h +++ b/mlir/include/mlir/TableGen/GenInfo.h @@ -64,7 +64,8 @@ /// // At namespace scope. /// static GenRegistration Print("print", "Print records", [](...){...}); struct GenRegistration { - GenRegistration(StringRef arg, StringRef description, GenFunction function); + GenRegistration(StringRef arg, StringRef description, + const GenFunction &function); }; } // namespace mlir diff --git a/mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp b/mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp --- a/mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp +++ b/mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp @@ -10,6 +10,8 @@ // //===----------------------------------------------------------------------===// +#include + #include "PassDetail.h" #include "mlir/Dialect/Arithmetic/IR/Arithmetic.h" #include "mlir/Dialect/Async/IR/Async.h" @@ -111,7 +113,7 @@ AsyncMinTaskSizeComputationFunction computeMinTaskSize) : OpRewritePattern(ctx), asyncDispatch(asyncDispatch), numWorkerThreads(numWorkerThreads), - computeMinTaskSize(computeMinTaskSize) {} + computeMinTaskSize(std::move(computeMinTaskSize)) {} LogicalResult matchAndRewrite(scf::ParallelOp op, PatternRewriter &rewriter) const override; @@ -244,7 +246,7 @@ // Create a parallel compute fuction from the parallel operation. static ParallelComputeFunction createParallelComputeFunction( - scf::ParallelOp op, ParallelComputeFunctionBounds bounds, + scf::ParallelOp op, const ParallelComputeFunctionBounds &bounds, unsigned numBlockAlignedInnerLoops, PatternRewriter &rewriter) { OpBuilder::InsertionGuard guard(rewriter); ImplicitLocOpBuilder b(op.getLoc(), rewriter); @@ -904,7 +906,7 @@ void mlir::async::populateAsyncParallelForPatterns( RewritePatternSet &patterns, bool asyncDispatch, int32_t numWorkerThreads, - AsyncMinTaskSizeComputationFunction computeMinTaskSize) { + const AsyncMinTaskSizeComputationFunction &computeMinTaskSize) { MLIRContext *ctx = patterns.getContext(); patterns.add(ctx, asyncDispatch, numWorkerThreads, computeMinTaskSize); diff --git a/mlir/lib/Dialect/StandardOps/IR/Ops.cpp b/mlir/lib/Dialect/StandardOps/IR/Ops.cpp --- a/mlir/lib/Dialect/StandardOps/IR/Ops.cpp +++ b/mlir/lib/Dialect/StandardOps/IR/Ops.cpp @@ -1163,7 +1163,7 @@ OpAsmPrinter &p, SwitchOp op, Type flagType, Block *defaultDestination, OperandRange defaultOperands, TypeRange defaultOperandTypes, DenseIntElementsAttr caseValues, SuccessorRange caseDestinations, - OperandRangeRange caseOperands, TypeRangeRange caseOperandTypes) { + OperandRangeRange caseOperands, const TypeRangeRange &caseOperandTypes) { p << " default: "; p.printSuccessorAndUseList(defaultDestination, defaultOperands); @@ -1289,7 +1289,7 @@ /// ] /// -> br ^bb2 static void foldSwitch(SwitchOp op, PatternRewriter &rewriter, - APInt caseValue) { + const APInt &caseValue) { auto caseValues = op.getCaseValues(); for (const auto &it : llvm::enumerate(caseValues->getValues())) { if (it.value() == caseValue) { diff --git a/mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp b/mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp --- a/mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp +++ b/mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp @@ -215,7 +215,7 @@ OpBuilder &b, ArrayRef reassociation) { SmallVector reassociationAttr = llvm::to_vector<4>(llvm::map_range( - reassociation, [&](ReassociationIndices indices) -> Attribute { + reassociation, [&](const ReassociationIndices &indices) -> Attribute { return b.getI64ArrayAttr(indices).cast(); })); return b.getArrayAttr(reassociationAttr); diff --git a/mlir/test/lib/Dialect/Linalg/TestLinalgCodegenStrategy.cpp b/mlir/test/lib/Dialect/Linalg/TestLinalgCodegenStrategy.cpp --- a/mlir/test/lib/Dialect/Linalg/TestLinalgCodegenStrategy.cpp +++ b/mlir/test/lib/Dialect/Linalg/TestLinalgCodegenStrategy.cpp @@ -10,6 +10,8 @@ // //===----------------------------------------------------------------------===// +#include + #include "mlir/Dialect/Affine/IR/AffineOps.h" #include "mlir/Dialect/GPU/GPUDialect.h" #include "mlir/Dialect/Linalg/IR/Linalg.h" @@ -175,19 +177,20 @@ CodegenStrategy strategy; strategy .tileAndFuseIf(fuse && !tileSizes.empty(), anchorOpName, - tilingAndFusionOptions) - .tileIf(!fuse && !tileSizes.empty(), anchorOpName, tilingOptions) + std::move(tilingAndFusionOptions)) + .tileIf(!fuse && !tileSizes.empty(), anchorOpName, + std::move(tilingOptions)) .promoteIf(!fuse && promote, anchorOpName, LinalgPromotionOptions() .setAlignment(16) .setUseFullTileBuffersByDefault(promoteFullTile)) .tileIf(!fuse && !registerTileSizes.empty(), anchorOpName, - registerTilingOptions) + std::move(registerTilingOptions)) .promoteIf(!fuse && registerPromote, anchorOpName, LinalgPromotionOptions() .setAlignment(16) .setUseFullTileBuffersByDefault(registerPromoteFullTile)) - .padIf(pad, "", paddingOptions) + .padIf(pad, "", std::move(paddingOptions)) .decomposeIf(decompose) .generalizeIf(generalize, "") .interchangeIf(!iteratorInterchange.empty(), iteratorInterchange) diff --git a/mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp b/mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp --- a/mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp +++ b/mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp @@ -567,7 +567,7 @@ (void)applyPatternsAndFoldGreedily(funcOp, std::move(patterns)); } -static void applyTilePattern(FuncOp funcOp, std::string loopType, +static void applyTilePattern(FuncOp funcOp, const std::string &loopType, ArrayRef tileSizes, ArrayRef peeledLoops, bool scalarizeDynamicDims) { diff --git a/mlir/tools/mlir-tblgen/DialectGen.cpp b/mlir/tools/mlir-tblgen/DialectGen.cpp --- a/mlir/tools/mlir-tblgen/DialectGen.cpp +++ b/mlir/tools/mlir-tblgen/DialectGen.cpp @@ -185,10 +185,11 @@ )"; /// Generate the declaration for the given dialect class. -static void emitDialectDecl(Dialect &dialect, - iterator_range dialectAttrs, - iterator_range dialectTypes, - raw_ostream &os) { +static void +emitDialectDecl(Dialect &dialect, + const iterator_range &dialectAttrs, + const iterator_range &dialectTypes, + raw_ostream &os) { /// Build the list of dependent dialects std::string dependentDialectRegistrations; { diff --git a/mlir/tools/mlir-tblgen/OpDocGen.cpp b/mlir/tools/mlir-tblgen/OpDocGen.cpp --- a/mlir/tools/mlir-tblgen/OpDocGen.cpp +++ b/mlir/tools/mlir-tblgen/OpDocGen.cpp @@ -88,7 +88,7 @@ os << "```\n\n"; } -static void emitOpTraitsDoc(Operator op, raw_ostream &os) { +static void emitOpTraitsDoc(const Operator &op, raw_ostream &os) { // TODO: We should link to the trait/documentation of it. That also means we // should add descriptions to traits that can be queried. // Collect using set to sort effects, interfaces & traits. diff --git a/mlir/tools/mlir-tblgen/OpFormatGen.cpp b/mlir/tools/mlir-tblgen/OpFormatGen.cpp --- a/mlir/tools/mlir-tblgen/OpFormatGen.cpp +++ b/mlir/tools/mlir-tblgen/OpFormatGen.cpp @@ -2217,7 +2217,7 @@ /// attribute. void handleTypesMatchConstraint( llvm::StringMap &variableTyResolver, - llvm::Record def); + const llvm::Record &def); /// Returns an argument or attribute with the given name that has been seen /// within the format. @@ -2621,7 +2621,7 @@ void FormatParser::handleTypesMatchConstraint( llvm::StringMap &variableTyResolver, - llvm::Record def) { + const llvm::Record &def) { StringRef lhsName = def.getValueAsString("lhs"); StringRef rhsName = def.getValueAsString("rhs"); StringRef transformer = def.getValueAsString("transformer"); diff --git a/mlir/tools/mlir-tblgen/OpInterfacesGen.cpp b/mlir/tools/mlir-tblgen/OpInterfacesGen.cpp --- a/mlir/tools/mlir-tblgen/OpInterfacesGen.cpp +++ b/mlir/tools/mlir-tblgen/OpInterfacesGen.cpp @@ -154,7 +154,7 @@ // GEN: Interface definitions //===----------------------------------------------------------------------===// -static void emitInterfaceDef(Interface interface, StringRef valueType, +static void emitInterfaceDef(const Interface &interface, StringRef valueType, raw_ostream &os) { StringRef interfaceName = interface.getName(); StringRef cppNamespace = interface.getCppNamespace(); diff --git a/mlir/tools/mlir-tblgen/mlir-tblgen.cpp b/mlir/tools/mlir-tblgen/mlir-tblgen.cpp --- a/mlir/tools/mlir-tblgen/mlir-tblgen.cpp +++ b/mlir/tools/mlir-tblgen/mlir-tblgen.cpp @@ -29,7 +29,7 @@ static llvm::ManagedStatic> generatorRegistry; mlir::GenRegistration::GenRegistration(StringRef arg, StringRef description, - GenFunction function) { + const GenFunction &function) { generatorRegistry->emplace_back(arg, description, function); }