MLIR 22.0.0git
mlir::sparse_tensor::SparseIterationSpace Class Reference

A SparseIterationSpace represents a sparse set of coordinates defined by (possibly multiple) levels of a specific sparse tensor. More...

#include "Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.h"

Public Member Functions

 SparseIterationSpace ()=default
 SparseIterationSpace (SparseIterationSpace &)=delete
 SparseIterationSpace (SparseIterationSpace &&)=default
 SparseIterationSpace (Location loc, OpBuilder &b, Value t, unsigned tid, std::pair< Level, Level > lvlRange, ValueRange parentPos)
 SparseIterationSpace (Location loc, OpBuilder &b, Value t, unsigned tid, Level lvl, ValueRange parentPos)
bool isUnique () const
unsigned getSpaceDim () const
SmallVector< ValuetoValues () const
const SparseTensorLevelgetLastLvl () const
ArrayRef< std::unique_ptr< SparseTensorLevel > > getLvlRef () const
Value getBoundLo () const
Value getBoundHi () const
std::unique_ptr< SparseIteratorextractIterator (OpBuilder &b, Location l) const

Static Public Member Functions

static SparseIterationSpace fromValues (IterSpaceType dstTp, ValueRange values, unsigned tid)

Detailed Description

A SparseIterationSpace represents a sparse set of coordinates defined by (possibly multiple) levels of a specific sparse tensor.

TODO: remove SparseTensorLevel and switch to SparseIterationSpace when feature complete.

Definition at line 95 of file SparseTensorIterator.h.

Constructor & Destructor Documentation

◆ SparseIterationSpace() [1/5]

mlir::sparse_tensor::SparseIterationSpace::SparseIterationSpace ( )
default

◆ SparseIterationSpace() [2/5]

mlir::sparse_tensor::SparseIterationSpace::SparseIterationSpace ( SparseIterationSpace & )
delete

◆ SparseIterationSpace() [3/5]

mlir::sparse_tensor::SparseIterationSpace::SparseIterationSpace ( SparseIterationSpace && )
default

References b, and SparseIterationSpace().

◆ SparseIterationSpace() [4/5]

mlir::sparse_tensor::SparseIterationSpace::SparseIterationSpace ( Location loc,
OpBuilder & b,
Value t,
unsigned tid,
std::pair< Level, Level > lvlRange,
ValueRange parentPos )

◆ SparseIterationSpace() [5/5]

mlir::sparse_tensor::SparseIterationSpace::SparseIterationSpace ( Location loc,
OpBuilder & b,
Value t,
unsigned tid,
Level lvl,
ValueRange parentPos )
inline

Definition at line 106 of file SparseTensorIterator.h.

References b, and SparseIterationSpace().

Member Function Documentation

◆ extractIterator()

std::unique_ptr< SparseIterator > SparseIterationSpace::extractIterator ( OpBuilder & b,
Location l ) const

Definition at line 1554 of file SparseTensorIterator.cpp.

References b, and mlir::sparse_tensor::makeSimpleIterator().

◆ fromValues()

SparseIterationSpace mlir::sparse_tensor::SparseIterationSpace::fromValues ( IterSpaceType dstTp,
ValueRange values,
unsigned tid )
static

◆ getBoundHi()

Value mlir::sparse_tensor::SparseIterationSpace::getBoundHi ( ) const
inline

Definition at line 135 of file SparseTensorIterator.h.

Referenced by mlir::sparse_tensor::makeSimpleIterator().

◆ getBoundLo()

Value mlir::sparse_tensor::SparseIterationSpace::getBoundLo ( ) const
inline

Definition at line 134 of file SparseTensorIterator.h.

Referenced by mlir::sparse_tensor::makeSimpleIterator().

◆ getLastLvl()

const SparseTensorLevel & mlir::sparse_tensor::SparseIterationSpace::getLastLvl ( ) const
inline

Definition at line 129 of file SparseTensorIterator.h.

Referenced by mlir::sparse_tensor::makeSimpleIterator().

◆ getLvlRef()

ArrayRef< std::unique_ptr< SparseTensorLevel > > mlir::sparse_tensor::SparseIterationSpace::getLvlRef ( ) const
inline

Definition at line 130 of file SparseTensorIterator.h.

Referenced by SparseIterationSpace().

◆ getSpaceDim()

unsigned mlir::sparse_tensor::SparseIterationSpace::getSpaceDim ( ) const
inline

Definition at line 112 of file SparseTensorIterator.h.

◆ isUnique()

bool mlir::sparse_tensor::SparseIterationSpace::isUnique ( ) const
inline

Definition at line 110 of file SparseTensorIterator.h.

Referenced by mlir::sparse_tensor::makeSimpleIterator().

◆ toValues()

SmallVector< Value > mlir::sparse_tensor::SparseIterationSpace::toValues ( ) const
inline

Definition at line 119 of file SparseTensorIterator.h.


The documentation for this class was generated from the following files: