aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/mlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h b/mlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h
index d7496b30..f2c4b30 100644
--- a/mlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h
+++ b/mlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h
@@ -168,10 +168,13 @@ public:
/// Returns true if any set bit corresponds to queried dim.
bool hasAnyDimOf(const llvm::BitVector &bits, Dim d) const;
- /// Setter
+ /// Dimension setter.
void setDim(unsigned t, unsigned i, Dim d) { dims[t][i] = d; }
- /// Getters.
+ /// Convenience getters to immediately access the stored nodes.
+ /// Typically it is inadvisible to keep the reference around, as in
+ /// "TensorExpr &te = merger.exp(e))", since insertions into the merger
+ /// may cause data movement and invalidate the underlying memory address.
TensorExp &exp(unsigned e) { return tensorExps[e]; }
LatPoint &lat(unsigned l) { return latPoints[l]; }
SmallVector<unsigned, 16> &set(unsigned s) { return latSets[s]; }