MLIR  20.0.0git
Public Member Functions | Static Public Member Functions | List of all members
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

◆ 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.

Member Function Documentation

◆ extractIterator()

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

◆ 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: