Skip to content

Commit 6aab2b1

Browse files
authored
[mlir][linalg] Clean up debug prints. NFC. (#136438)
Use `llvm::interleaved` from #135517 to simplify printing.
1 parent e5aae97 commit 6aab2b1

File tree

1 file changed

+58
-57
lines changed

1 file changed

+58
-57
lines changed

mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp

Lines changed: 58 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
#include "llvm/ADT/ScopeExit.h"
3434
#include "llvm/ADT/TypeSwitch.h"
3535
#include "llvm/Support/Debug.h"
36+
#include "llvm/Support/InterleavedRange.h"
3637
#include "llvm/Support/raw_ostream.h"
3738
#include <type_traits>
3839
#include <utility>
@@ -95,6 +96,10 @@ static bool hasAtMostOneResultFunctionOfDim(AffineMap map, int64_t dim) {
9596
}
9697
return true;
9798
}
99+
100+
static std::string stringifyReassocIndices(ReassociationIndicesRef ri) {
101+
return llvm::interleaved(ri, ", ", /*Prefix=*/"|", /*Suffix=*/"");
102+
}
98103
#endif // NDEBUG
99104

100105
/// Return the index of the first result of `map` that is a function of
@@ -278,22 +283,21 @@ FailureOr<LowerPackResult> linalg::lowerPack(RewriterBase &rewriter,
278283
highs, paddingValue, /*nofold=*/false);
279284

280285
LLVM_DEBUG(
281-
DBGSNL(); DBGSNL(); llvm::interleaveComma(packingMetadata.insertPositions,
282-
DBGS() << "insertPositions: ");
283-
DBGSNL(); llvm::interleaveComma(packingMetadata.outerPositions,
284-
DBGS() << "outerPositions: ");
285-
DBGSNL(); llvm::interleaveComma(packedTensorType.getShape(),
286-
DBGS() << "packedShape: ");
286+
DBGSNL(); DBGSNL();
287+
DBGS() << "insertPositions: "
288+
<< llvm::interleaved(packingMetadata.insertPositions);
289+
DBGSNL(); DBGS() << "outerPositions: "
290+
<< llvm::interleaved(packingMetadata.outerPositions);
291+
DBGSNL(); DBGS() << "packedShape: "
292+
<< llvm::interleaved(packedTensorType.getShape());
293+
DBGSNL(); DBGS() << "packedToStripMinedShapePerm: "
294+
<< llvm::interleaved(packedToStripMinedShapePerm);
287295
DBGSNL();
288-
llvm::interleaveComma(packedToStripMinedShapePerm,
289-
DBGS() << "packedToStripMinedShapePerm: ");
290-
DBGSNL(); llvm::interleaveComma(
291-
packingMetadata.reassociations, DBGS() << "reassociations: ",
292-
[&](ReassociationIndices ri) {
293-
llvm::interleaveComma(ri, llvm::dbgs() << "|");
294-
});
296+
DBGS() << "reassociations: "
297+
<< llvm::interleaved(llvm::map_range(
298+
packingMetadata.reassociations, stringifyReassocIndices));
295299
DBGSNL();
296-
llvm::interleaveComma(stripMinedShape, DBGS() << "stripMinedShape: ");
300+
DBGS() << "stripMinedShape: " << llvm::interleaved(stripMinedShape);
297301
DBGSNL(); DBGS() << "collapsed type: " << collapsed; DBGSNL(););
298302

299303
if (lowerPadLikeWithInsertSlice && packOp.isLikePad()) {
@@ -343,7 +347,7 @@ FailureOr<LowerPackResult> linalg::lowerPack(RewriterBase &rewriter,
343347

344348
LLVM_DEBUG(DBGSNL(); DBGSNL(); DBGSNL();
345349
DBGS() << "reshape op: " << reshapeOp; DBGSNL();
346-
llvm::interleaveComma(transpPerm, DBGS() << "transpPerm: ");
350+
DBGS() << "transpPerm: " << llvm::interleaved(transpPerm);
347351
DBGSNL(); DBGS() << "transpose op: " << transposeOp; DBGSNL(););
348352

349353
// 7. Replace packOp by transposeOp.
@@ -412,20 +416,19 @@ linalg::lowerUnPack(RewriterBase &rewriter, linalg::UnPackOp unPackOp,
412416
loc, unPackOp.getSource(), emptyOp, packedToStripMinedShapePerm);
413417

414418
LLVM_DEBUG(
415-
DBGSNL(); DBGSNL(); llvm::interleaveComma(packingMetadata.insertPositions,
416-
DBGS() << "insertPositions: ");
417-
DBGSNL(); llvm::interleaveComma(packedTensorType.getShape(),
418-
DBGS() << "packedShape: ");
419+
DBGSNL(); DBGSNL();
420+
DBGS() << "insertPositions: "
421+
<< llvm::interleaved(packingMetadata.insertPositions);
422+
DBGSNL(); DBGS() << "packedShape: "
423+
<< llvm::interleaved(packedTensorType.getShape());
424+
DBGSNL(); DBGS() << "packedToStripMinedShapePerm: "
425+
<< llvm::interleaved(packedToStripMinedShapePerm);
419426
DBGSNL();
420-
llvm::interleaveComma(packedToStripMinedShapePerm,
421-
DBGS() << "packedToStripMinedShapePerm: ");
422-
DBGSNL(); llvm::interleaveComma(
423-
packingMetadata.reassociations, DBGS() << "reassociations: ",
424-
[&](ReassociationIndices ri) {
425-
llvm::interleaveComma(ri, llvm::dbgs() << "|");
426-
});
427+
DBGS() << "reassociations: "
428+
<< llvm::interleaved(llvm::map_range(
429+
packingMetadata.reassociations, stringifyReassocIndices));
427430
DBGSNL();
428-
llvm::interleaveComma(stripMinedShape, DBGS() << "stripMinedShape: ");
431+
DBGS() << "stripMinedShape: " << llvm::interleaved(stripMinedShape);
429432
DBGSNL(); DBGS() << "collapsed type: " << collapsedType; DBGSNL(););
430433

431434
// 4. Collapse from the stripMinedShape to the padded result.
@@ -488,10 +491,10 @@ FailureOr<PackResult> linalg::pack(RewriterBase &rewriter,
488491
SmallVector<AffineMap> indexingMaps = linalgOp.getIndexingMapsArray();
489492
SmallVector<utils::IteratorType> iteratorTypes =
490493
linalgOp.getIteratorTypesArray();
491-
LLVM_DEBUG(DBGS() << "Start packing: " << linalgOp << "\n";
492-
llvm::interleaveComma(indexingMaps, DBGS() << "maps: "); DBGSNL();
493-
llvm::interleaveComma(iteratorTypes, DBGS() << "iterators: ");
494-
DBGSNL(););
494+
LLVM_DEBUG(DBGS() << "Start packing: " << linalgOp << "\n"
495+
<< "maps: " << llvm::interleaved(indexingMaps) << "\n"
496+
<< "iterators: " << llvm::interleaved(iteratorTypes)
497+
<< "\n");
495498

496499
SmallVector<linalg::PackOp> packOps;
497500
SmallVector<linalg::UnPackOp> unPackOps;
@@ -515,18 +518,18 @@ FailureOr<PackResult> linalg::pack(RewriterBase &rewriter,
515518

516519
LLVM_DEBUG(
517520
DBGS() << "++++ After pack size #" << i << ": " << packedSizes[i]
518-
<< "\n";
519-
llvm::interleaveComma(indexingMaps, DBGS() << "maps: "); DBGSNL();
520-
llvm::interleaveComma(iteratorTypes, DBGS() << "iterators: "); DBGSNL();
521-
llvm::interleaveComma(packedOperandsDims.packedDimForEachOperand,
522-
DBGS() << "packedDimForEachOperand: ");
523-
DBGSNL(););
521+
<< "\n"
522+
<< "maps: " << llvm::interleaved(indexingMaps) << "\n"
523+
<< "iterators: " << llvm::interleaved(iteratorTypes) << "\n"
524+
<< "packedDimForEachOperand: "
525+
<< llvm::interleaved(packedOperandsDims.packedDimForEachOperand)
526+
<< "\n");
524527
}
525528

526529
// Step 2. Propagate packing to all LinalgOp operands.
527530
SmallVector<Value> inputsAndInits, results;
528-
SmallVector<OpOperand *> initOperands = llvm::to_vector(llvm::map_range(
529-
linalgOp.getDpsInitsMutable(), [](OpOperand &o) { return &o; }));
531+
SmallVector<OpOperand *> initOperands =
532+
llvm::to_vector(llvm::make_pointer_range(linalgOp.getDpsInitsMutable()));
530533
SmallVector<OpOperand *> inputOperands = linalgOp.getDpsInputOperands();
531534
for (const auto &operandsList : {inputOperands, initOperands}) {
532535
for (OpOperand *opOperand : operandsList) {
@@ -536,11 +539,10 @@ FailureOr<PackResult> linalg::pack(RewriterBase &rewriter,
536539
listOfPackedOperandsDim.extractPackedDimsForOperand(pos);
537540
SmallVector<OpFoldResult> innerPackSizes =
538541
listOfPackedOperandsDim.extractPackSizesForOperand(pos);
539-
LLVM_DEBUG(
540-
DBGS() << "operand: " << operand << "\n";
541-
llvm::interleaveComma(innerPos, DBGS() << "innerPos: "); DBGSNL();
542-
llvm::interleaveComma(innerPackSizes, DBGS() << "innerPackSizes: ");
543-
DBGSNL(););
542+
LLVM_DEBUG(DBGS() << "operand: " << operand << "\n"
543+
<< "innerPos: " << llvm::interleaved(innerPos) << "\n"
544+
<< "innerPackSizes: "
545+
<< llvm::interleaved(innerPackSizes) << "\n");
544546
if (innerPackSizes.empty()) {
545547
inputsAndInits.push_back(operand);
546548
continue;
@@ -835,7 +837,7 @@ linalg::packMatmulGreedily(RewriterBase &rewriter, LinalgOp linalgOp,
835837
// not change the indexings of any operand.
836838
SmallVector<int64_t> permutation =
837839
computePermutationVector(numLoops, {mPos, nPos, kPos}, mmnnkkPos);
838-
LLVM_DEBUG(llvm::interleaveComma(permutation, DBGS() << "perm: "); DBGSNL(););
840+
LLVM_DEBUG(DBGS() << "perm: " << llvm::interleaved(permutation) << "\n");
839841
// Sign .. unsigned pollution.
840842
SmallVector<unsigned> unsignedPerm(permutation.begin(), permutation.end());
841843
FailureOr<GenericOp> interchangeResult =
@@ -864,12 +866,12 @@ linalg::packMatmulGreedily(RewriterBase &rewriter, LinalgOp linalgOp,
864866

865867
// Add leading zeros to match numLoops, we only pack the last 3 dimensions
866868
// post interchange.
867-
LLVM_DEBUG(llvm::interleaveComma(paddedSizesNextMultipleOf,
868-
DBGS() << "paddedSizesNextMultipleOf: ");
869-
DBGSNL(););
870-
LLVM_DEBUG(llvm::interleaveComma(loopRanges, DBGS() << "loopRanges: ",
871-
[](Range r) { llvm::dbgs() << r.size; });
872-
DBGSNL(););
869+
LLVM_DEBUG(DBGS() << "paddedSizesNextMultipleOf: "
870+
<< llvm::interleaved(paddedSizesNextMultipleOf) << "\n"
871+
<< "loopRanges: "
872+
<< llvm::interleaved(llvm::map_range(
873+
loopRanges, [](Range r) { return r.size; }))
874+
<< "\n");
873875
SmallVector<OpFoldResult> adjustedPackedSizes(numLoops - packedSizes.size(),
874876
rewriter.getIndexAttr(0));
875877
for (int64_t i = 0, e = numPackedDims; i < e; ++i) {
@@ -885,9 +887,8 @@ linalg::packMatmulGreedily(RewriterBase &rewriter, LinalgOp linalgOp,
885887
{loopRanges[adjustedPackedSizes.size()].size,
886888
rewriter.getIndexAttr(paddedSizesNextMultipleOf[i])}));
887889
}
888-
LLVM_DEBUG(llvm::interleaveComma(adjustedPackedSizes,
889-
DBGS() << "adjustedPackedSizes: ");
890-
DBGSNL(););
890+
LLVM_DEBUG(DBGS() << "adjustedPackedSizes: "
891+
<< llvm::interleaved(adjustedPackedSizes) << "\n");
891892

892893
// TODO: If we wanted to give the genericOp a name after packing, after
893894
// calling `pack` would be a good time. One would still need to check that
@@ -1202,9 +1203,9 @@ LogicalResult DecomposeOuterUnitDimsPackOpPattern::matchAndRewrite(
12021203

12031204
srcPermForTranspose.append(SmallVector<int64_t>(packOp.getInnerDimsPos()));
12041205

1205-
LLVM_DEBUG(DBGS() << "Pack permutation: " << packOp << "\n";
1206-
llvm::interleaveComma(srcPermForTranspose, DBGS() << "perm: ");
1207-
DBGSNL(););
1206+
LLVM_DEBUG(DBGS() << "Pack permutation: " << packOp << "\n"
1207+
<< "perm: " << llvm::interleaved(srcPermForTranspose)
1208+
<< "\n");
12081209

12091210
// 2.1 Create tensor.empty (init value for TransposeOp)
12101211
SmallVector<OpFoldResult> transShapeForEmptyOp(srcRank - numTiles,

0 commit comments

Comments
 (0)