MLIR
19.0.0git
|
Helper class that generates loop conditions, etc, to traverse a sparse tensor level. More...
#include "Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.h"
Public Attributes | |
const IterKind | kind |
const unsigned | tid |
const unsigned | lvl |
Protected Member Functions | |
SparseIterator (IterKind kind, unsigned tid, unsigned lvl, unsigned cursorValsCnt, SmallVectorImpl< Value > &cursorValStorage) | |
SparseIterator (IterKind kind, unsigned cursorValsCnt, SmallVectorImpl< Value > &cursorValStorage, const SparseIterator &delegate) | |
SparseIterator (IterKind kind, const SparseIterator &wrap, unsigned extraCursorCnt=0) | |
void | updateCrd (Value crd) |
MutableArrayRef< Value > | getMutCursorVals () |
void | inherentBatch (const SparseIterator &parent) |
Protected Attributes | |
SparseEmitStrategy | emitStrategy |
SmallVector< Value > | batchCrds |
Helper class that generates loop conditions, etc, to traverse a sparse tensor level.
Definition at line 85 of file SparseTensorIterator.h.
|
inlineprotected |
Definition at line 92 of file SparseTensorIterator.h.
|
inlineprotected |
Definition at line 98 of file SparseTensorIterator.h.
|
inlineprotected |
Definition at line 104 of file SparseTensorIterator.h.
References wrap().
|
virtualdefault |
Definition at line 880 of file SparseTensorIterator.cpp.
References mlir::OpBuilder::create(), derefImpl(), emitStrategy, getCrd(), getCursor(), getDebugInterfacePrefix(), mlir::Builder::getIndexType(), mlir::Builder::getStringAttr(), mlir::kDebugInterface, and updateCrd().
Referenced by genWhenInBound().
|
pure virtual |
Referenced by deref().
|
inlinevirtual |
Definition at line 169 of file SparseTensorIterator.h.
ValueRange SparseIterator::forward | ( | OpBuilder & | b, |
Location | l | ||
) |
Definition at line 892 of file SparseTensorIterator.cpp.
References mlir::OpBuilder::create(), emitStrategy, forwardImpl(), getCursor(), getCursorValTypes(), getDebugInterfacePrefix(), mlir::Operation::getResults(), mlir::Builder::getStringAttr(), mlir::kDebugInterface, randomAccessible(), and seek().
Referenced by forwardIf().
|
virtual |
Definition at line 904 of file SparseTensorIterator.cpp.
References mlir::OpBuilder::create(), forward(), getCursor(), mlir::ValueRange::getTypes(), seek(), mlir::OpBuilder::setInsertionPointAfter(), mlir::OpBuilder::setInsertionPointToStart(), and YIELD.
|
pure virtual |
Referenced by forward().
|
inlinevirtual |
Definition at line 216 of file SparseTensorIterator.h.
References getCrd(), randomAccessible(), and upperBound().
void SparseIterator::genInit | ( | OpBuilder & | b, |
Location | l, | ||
const SparseIterator * | p | ||
) |
Definition at line 839 of file SparseTensorIterator.cpp.
References mlir::OpBuilder::create(), emitStrategy, genInitImpl(), getCursorValTypes(), getDebugInterfacePrefix(), mlir::Operation::getResults(), mlir::Builder::getStringAttr(), inherentBatch(), mlir::kDebugInterface, and seek().
Referenced by mlir::sparse_tensor::LoopEmitter::locateLvlAtAffineAddress().
|
pure virtual |
Referenced by genInit().
Definition at line 855 of file SparseTensorIterator.cpp.
References mlir::OpBuilder::create(), emitStrategy, genNotEndImpl(), getCursor(), getDebugInterfacePrefix(), mlir::Builder::getI1Type(), mlir::Operation::getResult(), mlir::Builder::getStringAttr(), and mlir::kDebugInterface.
Referenced by genWhenInBound(), and genWhileCond().
|
pure virtual |
Referenced by genNotEnd().
|
inline |
Definition at line 223 of file SparseTensorIterator.h.
References genNotEnd(), and linkNewScope().
|
inline |
Definition at line 125 of file SparseTensorIterator.h.
References batchCrds.
|
inline |
Definition at line 124 of file SparseTensorIterator.h.
Referenced by deref(), genForCond(), and mlir::sparse_tensor::LoopEmitter::getCoord().
|
inlinevirtual |
Definition at line 211 of file SparseTensorIterator.h.
|
inline |
Definition at line 126 of file SparseTensorIterator.h.
Referenced by deref(), forward(), forwardIf(), genNotEnd(), and locate().
|
pure virtual |
|
pure virtual |
Referenced by deref(), forward(), genInit(), genNotEnd(), and locate().
|
inlineprotected |
Definition at line 254 of file SparseTensorIterator.h.
|
inlineprotected |
Definition at line 259 of file SparseTensorIterator.h.
References batchCrds.
Referenced by genInit().
|
pure virtual |
|
inlinevirtual |
Definition at line 150 of file SparseTensorIterator.h.
|
inline |
Definition at line 244 of file SparseTensorIterator.h.
References randomAccessible(), and seek().
Referenced by genWhileCond().
Definition at line 866 of file SparseTensorIterator.cpp.
References mlir::OpBuilder::create(), emitStrategy, getCursor(), getCursorValTypes(), getDebugInterfacePrefix(), mlir::Builder::getStringAttr(), mlir::kDebugInterface, locateImpl(), seek(), and updateCrd().
Referenced by mlir::sparse_tensor::LoopEmitter::enterCoIterationOverTensorsAtLvls(), and mlir::sparse_tensor::LoopEmitter::locateLvlAtAffineAddress().
|
inlinevirtual |
Definition at line 197 of file SparseTensorIterator.h.
Referenced by locate().
|
pure virtual |
Referenced by forward(), genForCond(), linkNewScope(), and mlir::sparse_tensor::LoopEmitter::locateLvlAtAffineAddress().
|
inline |
Definition at line 131 of file SparseTensorIterator.h.
References copy().
Referenced by forward(), forwardIf(), genInit(), linkNewScope(), and locate().
|
inlinevirtual |
Definition at line 166 of file SparseTensorIterator.h.
|
inline |
Definition at line 117 of file SparseTensorIterator.h.
References emitStrategy.
Referenced by mlir::sparse_tensor::makeSynLevelAndIterator().
|
inlineprotected |
Definition at line 252 of file SparseTensorIterator.h.
|
pure virtual |
Referenced by genForCond().
|
protected |
Definition at line 264 of file SparseTensorIterator.h.
Referenced by getBatchCrds(), and inherentBatch().
|
protected |
Definition at line 263 of file SparseTensorIterator.h.
Referenced by deref(), forward(), genInit(), genNotEnd(), locate(), and setSparseEmitStrategy().
const IterKind mlir::sparse_tensor::SparseIterator::kind |
Definition at line 267 of file SparseTensorIterator.h.
Referenced by mlir::sparse_tensor::LoopEmitter::locateLvlAtAffineAddress().
const unsigned mlir::sparse_tensor::SparseIterator::lvl |
Definition at line 268 of file SparseTensorIterator.h.
Referenced by mlir::sparse_tensor::LoopEmitter::enterCoIterationOverTensorsAtLvls().
const unsigned mlir::sparse_tensor::SparseIterator::tid |
Definition at line 268 of file SparseTensorIterator.h.
Referenced by mlir::sparse_tensor::LoopEmitter::enterCoIterationOverTensorsAtLvls().