MLIR
20.0.0git
|
#include "mlir/Dialect/SparseTensor/IR/SparseTensor.h"
#include "mlir/Dialect/SparseTensor/Transforms/Passes.h"
Go to the source code of this file.
Classes | |
class | mlir::sparse_tensor::SparseTensorLevel |
The base class for all types of sparse tensor levels. More... | |
class | mlir::sparse_tensor::SparseIterationSpace |
A SparseIterationSpace represents a sparse set of coordinates defined by (possibly multiple) levels of a specific sparse tensor. More... | |
class | mlir::sparse_tensor::SparseIterator |
Helper class that generates loop conditions, etc, to traverse a sparse tensor level. More... | |
Namespaces | |
mlir | |
Include the generated interface declarations. | |
mlir::sparse_tensor | |
Enumerations | |
enum class | mlir::sparse_tensor::IterKind : uint8_t { mlir::sparse_tensor::kTrivial , mlir::sparse_tensor::kDedup , mlir::sparse_tensor::kSubSect , mlir::sparse_tensor::kNonEmptySubSect , mlir::sparse_tensor::kFilter , mlir::sparse_tensor::kPad } |
Functions | |
std::unique_ptr< SparseTensorLevel > | mlir::sparse_tensor::makeSparseTensorLevel (OpBuilder &b, Location l, Value t, unsigned tid, Level lvl) |
Helper function to create a TensorLevel object from given tensor . More... | |
std::unique_ptr< SparseTensorLevel > | mlir::sparse_tensor::makeSparseTensorLevel (LevelType lt, Value sz, ValueRange buffers, unsigned tid, Level l) |
Helper function to create a TensorLevel object from given ValueRange. More... | |
std::unique_ptr< SparseIterator > | mlir::sparse_tensor::makeSimpleIterator (OpBuilder &b, Location l, const SparseIterationSpace &iterSpace) |
Helper function to create a simple SparseIterator object that iterate over the entire iteration space. More... | |
std::unique_ptr< SparseIterator > | mlir::sparse_tensor::makeSimpleIterator (const SparseTensorLevel &stl, SparseEmitStrategy strategy=SparseEmitStrategy::kFunctional) |
Helper function to create a simple SparseIterator object that iterate over the sparse tensor level. More... | |
std::pair< std::unique_ptr< SparseTensorLevel >, std::unique_ptr< SparseIterator > > | mlir::sparse_tensor::makeSynLevelAndIterator (Value sz, unsigned tid, unsigned lvl, SparseEmitStrategy strategy) |
Helper function to create a synthetic SparseIterator object that iterates over a dense space specified by [0,sz ). More... | |
std::unique_ptr< SparseIterator > | mlir::sparse_tensor::makeSlicedLevelIterator (std::unique_ptr< SparseIterator > &&sit, Value offset, Value stride, Value size, SparseEmitStrategy strategy) |
Helper function to create a SparseIterator object that iterates over a sliced space, the orignal space (before slicing) is traversed by sit . More... | |
std::unique_ptr< SparseIterator > | mlir::sparse_tensor::makePaddedIterator (std::unique_ptr< SparseIterator > &&sit, Value padLow, Value padHigh, SparseEmitStrategy strategy) |
Helper function to create a SparseIterator object that iterates over a padded sparse level (the padded value must be zero). More... | |
std::unique_ptr< SparseIterator > | mlir::sparse_tensor::makeNonEmptySubSectIterator (OpBuilder &b, Location l, const SparseIterator *parent, Value loopBound, std::unique_ptr< SparseIterator > &&delegate, Value size, unsigned stride, SparseEmitStrategy strategy) |
Helper function to create a SparseIterator object that iterate over the non-empty subsections set. More... | |
std::unique_ptr< SparseIterator > | mlir::sparse_tensor::makeTraverseSubSectIterator (OpBuilder &b, Location l, const SparseIterator &subsectIter, const SparseIterator &parent, std::unique_ptr< SparseIterator > &&wrap, Value loopBound, unsigned stride, SparseEmitStrategy strategy) |
Helper function to create a SparseIterator object that iterates over a non-empty subsection created by NonEmptySubSectIterator. More... | |