MLIR  20.0.0git
Public Types | Public Member Functions | List of all members
mlir::sparse_tensor::I64BitSet Class Reference

A simple wrapper to encode a bitset of (at most 64) levels, currently used by sparse_tensor.iterate operation for the set of levels on which the coordinates should be loaded. More...

#include "mlir/Dialect/SparseTensor/IR/SparseTensor.h"

Public Types

using const_set_bits_iterator = llvm::const_set_bits_iterator_impl< I64BitSet >
 

Public Member Functions

const_set_bits_iterator begin () const
 
const_set_bits_iterator end () const
 
iterator_range< const_set_bits_iteratorbits () const
 
 I64BitSet ()=default
 
 I64BitSet (uint64_t bits)
 
 operator uint64_t () const
 
I64BitSetset (unsigned i)
 
I64BitSetoperator|= (I64BitSet lhs)
 
I64BitSetlshift (unsigned offset)
 
bool isSubSetOf (const I64BitSet p) const
 
int find_first () const
 
int find_next (unsigned prev) const
 
bool operator[] (unsigned i) const
 
unsigned min () const
 
unsigned max () const
 
unsigned count () const
 
bool empty () const
 

Detailed Description

A simple wrapper to encode a bitset of (at most 64) levels, currently used by sparse_tensor.iterate operation for the set of levels on which the coordinates should be loaded.

Definition at line 64 of file SparseTensor.h.

Member Typedef Documentation

◆ const_set_bits_iterator

using mlir::sparse_tensor::I64BitSet::const_set_bits_iterator = llvm::const_set_bits_iterator_impl<I64BitSet>

Definition at line 68 of file SparseTensor.h.

Constructor & Destructor Documentation

◆ I64BitSet() [1/2]

mlir::sparse_tensor::I64BitSet::I64BitSet ( )
default

◆ I64BitSet() [2/2]

mlir::sparse_tensor::I64BitSet::I64BitSet ( uint64_t  bits)
inlineexplicit

Definition at line 80 of file SparseTensor.h.

Member Function Documentation

◆ begin()

const_set_bits_iterator mlir::sparse_tensor::I64BitSet::begin ( ) const
inline

Definition at line 69 of file SparseTensor.h.

Referenced by bits().

◆ bits()

iterator_range<const_set_bits_iterator> mlir::sparse_tensor::I64BitSet::bits ( ) const
inline

◆ count()

unsigned mlir::sparse_tensor::I64BitSet::count ( ) const
inline

Definition at line 126 of file SparseTensor.h.

◆ empty()

bool mlir::sparse_tensor::I64BitSet::empty ( ) const
inline

Definition at line 127 of file SparseTensor.h.

Referenced by printOptionalDefinedList().

◆ end()

const_set_bits_iterator mlir::sparse_tensor::I64BitSet::end ( ) const
inline

Definition at line 72 of file SparseTensor.h.

Referenced by bits().

◆ find_first()

int mlir::sparse_tensor::I64BitSet::find_first ( ) const
inline

Definition at line 106 of file SparseTensor.h.

References min().

◆ find_next()

int mlir::sparse_tensor::I64BitSet::find_next ( unsigned  prev) const
inline

Definition at line 107 of file SparseTensor.h.

References max().

◆ isSubSetOf()

bool mlir::sparse_tensor::I64BitSet::isSubSetOf ( const I64BitSet  p) const
inline

Definition at line 99 of file SparseTensor.h.

◆ lshift()

I64BitSet& mlir::sparse_tensor::I64BitSet::lshift ( unsigned  offset)
inline

Definition at line 94 of file SparseTensor.h.

◆ max()

unsigned mlir::sparse_tensor::I64BitSet::max ( ) const
inline

Definition at line 125 of file SparseTensor.h.

Referenced by find_next().

◆ min()

unsigned mlir::sparse_tensor::I64BitSet::min ( ) const
inline

Definition at line 121 of file SparseTensor.h.

Referenced by find_first().

◆ operator uint64_t()

mlir::sparse_tensor::I64BitSet::operator uint64_t ( ) const
inline

Definition at line 81 of file SparseTensor.h.

◆ operator[]()

bool mlir::sparse_tensor::I64BitSet::operator[] ( unsigned  i) const
inline

Definition at line 117 of file SparseTensor.h.

◆ operator|=()

I64BitSet& mlir::sparse_tensor::I64BitSet::operator|= ( I64BitSet  lhs)
inline

Definition at line 89 of file SparseTensor.h.

◆ set()

I64BitSet& mlir::sparse_tensor::I64BitSet::set ( unsigned  i)
inline

Definition at line 83 of file SparseTensor.h.

Referenced by genCoIterationCase(), and RemoveUnusedLvlCrds::matchAndRewrite().


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