MLIR
20.0.0git
|
#include "Utils/CodegenUtils.h"
#include "Utils/LoopEmitter.h"
#include "Utils/SparseTensorIterator.h"
#include "mlir/Dialect/MemRef/IR/MemRef.h"
#include "mlir/Dialect/SCF/IR/SCF.h"
#include "mlir/Dialect/SparseTensor/IR/SparseTensor.h"
#include "mlir/Dialect/SparseTensor/Transforms/Passes.h"
#include "mlir/Transforms/OneToNTypeConversion.h"
Go to the source code of this file.
Functions | |
static void | convertLevelType (SparseTensorEncodingAttr enc, Level lvl, SmallVectorImpl< Type > &fields) |
static std::optional< LogicalResult > | convertIterSpaceType (IterSpaceType itSp, SmallVectorImpl< Type > &fields) |
static std::optional< LogicalResult > | convertIteratorType (IteratorType itTp, SmallVectorImpl< Type > &fields) |
static ValueRange | genCoIterateBranchNest (PatternRewriter &rewriter, Location loc, CoIterateOp op, Value loopCrd, ArrayRef< std::unique_ptr< SparseIterator >> iters, ArrayRef< Region * > subCases, ArrayRef< Value > userReduc) |
static ValueRange | genLoopWithIterator (PatternRewriter &rewriter, Location loc, SparseIterator *it, ValueRange reduc, function_ref< SmallVector< Value >(PatternRewriter &rewriter, Location loc, Region &loopBody, SparseIterator *it, ValueRange reduc)> bodyBuilder) |
|
static |
Definition at line 40 of file SparseIterationToScf.cpp.
References mlir::get().
Referenced by mlir::SparseIterationTypeConverter::SparseIterationTypeConverter().
|
static |
Definition at line 27 of file SparseIterationToScf.cpp.
References convertLevelType(), and mlir::get().
Referenced by mlir::SparseIterationTypeConverter::SparseIterationTypeConverter().
|
static |
Definition at line 15 of file SparseIterationToScf.cpp.
References mlir::get().
Referenced by convertIterSpaceType().
|
static |
Definition at line 54 of file SparseIterationToScf.cpp.
References mlir::Region::begin(), mlir::sparse_tensor::I64BitSet::bits(), mlir::OpBuilder::cloneRegionBefore(), mlir::sparse_tensor::constantI1(), mlir::OpBuilder::create(), mlir::RewriterBase::eraseBlock(), mlir::RewriterBase::eraseOp(), mlir::Region::front(), mlir::Block::getArguments(), mlir::sparse_tensor::SparseIterator::getCrd(), mlir::Region::getRegionNumber(), mlir::ValueRange::getTypes(), mlir::IRMapping::map(), mlir::OpBuilder::setInsertionPointAfter(), mlir::OpBuilder::setInsertionPointToEnd(), and mlir::OpBuilder::setInsertionPointToStart().
|
static |
Definition at line 112 of file SparseIterationToScf.cpp.
References mlir::sparse_tensor::constantIndex(), mlir::OpBuilder::create(), mlir::OpBuilder::createBlock(), mlir::RewriterBase::eraseOp(), mlir::sparse_tensor::SparseIterator::forward(), mlir::sparse_tensor::SparseIterator::genForCond(), mlir::sparse_tensor::SparseIterator::genWhileCond(), mlir::Block::getArguments(), mlir::sparse_tensor::SparseIterator::getCursor(), mlir::Operation::getResults(), mlir::ValueRange::getTypes(), mlir::sparse_tensor::SparseIterator::iteratableByFor(), mlir::sparse_tensor::SparseIterator::linkNewScope(), mlir::OpBuilder::setInsertionPointToEnd(), and mlir::OpBuilder::setInsertionPointToStart().