[Mlir-commits] [mlir] c62afbf - [mlir][linalg][gpu] Clean up printing. NFC. (#136330)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Fri Apr 18 12:05:30 PDT 2025
Author: Jakub Kuderski
Date: 2025-04-18T15:05:27-04:00
New Revision: c62afbfeda07a2018d167b2724c8dd4cf2b39920
URL: https://github.com/llvm/llvm-project/commit/c62afbfeda07a2018d167b2724c8dd4cf2b39920
DIFF: https://github.com/llvm/llvm-project/commit/c62afbfeda07a2018d167b2724c8dd4cf2b39920.diff
LOG: [mlir][linalg][gpu] Clean up printing. NFC. (#136330)
* Use `llvm::interleaved` from #135517 to simplify printing
* Avoid needless vector allocations
Added:
Modified:
mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
Removed:
################################################################################
diff --git a/mlir/lib/Dialect/GPU/IR/GPUDialect.cpp b/mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
index 9391d2c4ec840..f20126618060a 100644
--- a/mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
+++ b/mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
@@ -451,9 +451,7 @@ static void printAsyncDependencies(OpAsmPrinter &printer, Operation *op,
return;
if (asyncTokenType)
printer << ' ';
- printer << '[';
- llvm::interleaveComma(asyncDependencies, printer);
- printer << ']';
+ printer << llvm::interleaved_array(asyncDependencies);
}
// GPU Memory attributions functions shared by LaunchOp and GPUFuncOp.
diff --git a/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp b/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
index 1c160911ce780..6c680498af2ad 100644
--- a/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
+++ b/mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
@@ -47,6 +47,7 @@
#include "llvm/ADT/StringSet.h"
#include "llvm/ADT/TypeSwitch.h"
#include "llvm/Support/FormatVariadic.h"
+#include "llvm/Support/InterleavedRange.h"
#include "llvm/Support/LogicalResult.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/raw_ostream.h"
@@ -3660,17 +3661,13 @@ ParseResult MatmulOp::parse(OpAsmParser &parser, OperationState &result) {
}
void MatmulOp::print(OpAsmPrinter &p) {
- SmallVector<Attribute, 3> indexingMaps = llvm::map_to_vector(
+ SmallVector<Attribute, 3> indexingMaps = llvm::map_to_vector<3>(
MatmulOp::getDefaultIndexingMaps(getContext()),
[](AffineMap map) -> Attribute { return AffineMapAttr::get(map); });
- if (!llvm::equal(getIndexingMaps(), indexingMaps)) {
- p << " indexing_maps = [";
- llvm::interleaveComma(getIndexingMaps(), p,
- [&](Attribute attr) { p.printAttribute(attr); });
- p << "]";
- }
+ if (!llvm::equal(getIndexingMaps(), indexingMaps))
+ p << " indexing_maps = " << llvm::interleaved_array(getIndexingMaps());
- SmallVector<StringRef, 3> elidedAttrs = {
+ std::array<StringRef, 3> elidedAttrs = {
"operandSegmentSizes", "linalg.memoized_indexing_maps", "indexing_maps"};
printNamedStructuredOp(p, getOperation(), getInputs(), getOutputs(),
elidedAttrs);
@@ -3777,10 +3774,7 @@ ParseResult ContractOp::parse(OpAsmParser &parser, OperationState &result) {
}
void ContractOp::print(OpAsmPrinter &p) {
- p << " indexing_maps = [";
- llvm::interleaveComma(getIndexingMaps(), p,
- [&](Attribute attr) { p.printAttribute(attr); });
- p << "]";
+ p << " indexing_maps = " << llvm::interleaved_array(getIndexingMaps());
printNamedStructuredOp(
p, getOperation(), getInputs(), getOutputs(),
/*elidedAttrs=*/{"indexing_maps", "operandSegmentSizes"});
@@ -4013,17 +4007,13 @@ ParseResult BatchMatmulOp::parse(OpAsmParser &parser, OperationState &result) {
}
void BatchMatmulOp::print(OpAsmPrinter &p) {
- SmallVector<Attribute, 3> indexingMaps = llvm::map_to_vector(
+ SmallVector<Attribute, 3> indexingMaps = llvm::map_to_vector<3>(
BatchMatmulOp::getDefaultIndexingMaps(getContext()),
[](AffineMap map) -> Attribute { return AffineMapAttr::get(map); });
- if (!llvm::equal(getIndexingMaps(), indexingMaps)) {
- p << " indexing_maps = [";
- llvm::interleaveComma(getIndexingMaps(), p,
- [&](Attribute attr) { p.printAttribute(attr); });
- p << "]";
- }
+ if (!llvm::equal(getIndexingMaps(), indexingMaps))
+ p << " indexing_maps = " << llvm::interleaved_array(getIndexingMaps());
- SmallVector<StringRef, 3> elidedAttrs = {
+ std::array<StringRef, 3> elidedAttrs = {
"operandSegmentSizes", "linalg.memoized_indexing_maps", "indexing_maps"};
::printNamedStructuredOp(p, getOperation(), getInputs(), getOutputs(),
elidedAttrs);
@@ -4204,17 +4194,13 @@ void ElementwiseOp::print(OpAsmPrinter &p) {
getArityGroupAsUInt(getArityGroupAndKind(getKind()).arityGroup);
unsigned numDims = getResultRank();
- SmallVector<Attribute, 3> indexingMaps = llvm::map_to_vector(
+ SmallVector<Attribute, 3> indexingMaps = llvm::map_to_vector<3>(
ElementwiseOp::getDefaultIndexingMaps(arity + 1 /*output*/, numDims,
getContext()),
[](AffineMap map) -> Attribute { return AffineMapAttr::get(map); });
- if (!llvm::equal(getIndexingMaps(), indexingMaps)) {
- p << " indexing_maps = [";
- llvm::interleaveComma(getIndexingMaps(), p,
- [&](Attribute attr) { p.printAttribute(attr); });
- p << "]";
- }
+ if (!llvm::equal(getIndexingMaps(), indexingMaps))
+ p << " indexing_maps = " << llvm::interleaved_array(getIndexingMaps());
printNamedStructuredOp(p, getOperation(), getInputs(), getOutputs(),
elidedAttrs);
More information about the Mlir-commits
mailing list