[Mlir-commits] [mlir] [mlir][sparse] support tensor.pad on CSR tensors (PR #90687)
Yinying Li
llvmlistbot at llvm.org
Wed May 1 13:54:40 PDT 2024
================
@@ -600,6 +614,26 @@ class PadIterator : public SimpleWrapIterator {
return std::string("pad<") + wrap->getDebugInterfacePrefix() + ">";
}
+ // Returns a pair of values for *upper*, *lower* bound respectively.
+ ValuePair genForCond(OpBuilder &b, Location l) override {
+ if (randomAccessible())
+ return {getCrd(), upperBound(b, l)};
+ return wrap->genForCond(b, l);
+ }
+
+ // For padded dense iterator, we append a `inPadZone: bool` in addition to
+ // values used by the wrapped iterator.
+ ValueRange getCurPosition() const override { return getCursor(); }
+
+ SmallVector<Type> getCursorValTypes(OpBuilder &b) const override {
+ SmallVector<Type> ret = wrap->getCursorValTypes(b);
+ // Need a extra boolean value `inPadZone` for padded dense iterator.
----------------
yinying-lisa-li wrote:
nit: an.
https://github.com/llvm/llvm-project/pull/90687
More information about the Mlir-commits
mailing list