Skip to content

Commit 730c685

Browse files
author
Peiming Liu
committed
address comments
1 parent 6354d18 commit 730c685

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

mlir/lib/Dialect/SparseTensor/Transforms/SparseSpaceCollapse.cpp

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ namespace mlir {
1818
#include "mlir/Dialect/SparseTensor/Transforms/Passes.h.inc"
1919
} // namespace mlir
2020

21+
#define DEBUG_TYPE "sparse-space-collapse"
22+
2123
using namespace mlir;
2224
using namespace sparse_tensor;
2325

@@ -78,18 +80,31 @@ bool legalToCollapse(SmallVectorImpl<CollapseSpaceInfo> &toCollapse,
7880
auto nItOp = getIterateOpOverSpace(curSpace);
7981

8082
// Can only collapse spaces extracted from the same tensor.
81-
if (parent.getTensor() != curSpace.getTensor())
83+
if (parent.getTensor() != curSpace.getTensor()) {
84+
LLVM_DEBUG({
85+
llvm::dbgs()
86+
<< "failed to collpase spaces extracted from different tensors.";
87+
});
8288
return false;
89+
}
8390

8491
// Can only collapse consecutive simple iteration on one tensor (i.e., no
8592
// coiteration).
8693
if (!nItOp || nItOp->getBlock() != curSpace->getBlock() ||
8794
pItOp.getIterator() != curSpace.getParentIter() ||
88-
curSpace->getParentOp() != pItOp.getOperation())
95+
curSpace->getParentOp() != pItOp.getOperation()) {
96+
LLVM_DEBUG(
97+
{ llvm::dbgs() << "failed to collapse non-consecutive IterateOps."; });
8998
return false;
99+
}
90100

91-
if (pItOp && !isCollapsableLoops(pItOp, nItOp))
101+
if (pItOp && !isCollapsableLoops(pItOp, nItOp)) {
102+
LLVM_DEBUG({
103+
llvm::dbgs()
104+
<< "failed to collapse IterateOps that are not perfectly nested.";
105+
});
92106
return false;
107+
}
93108

94109
CollapseSpaceInfo &info = toCollapse.emplace_back();
95110
info.space = curSpace;

0 commit comments

Comments
 (0)