#include <utility>
#include "Detail/DimLvlMapParser.h"
#include "mlir/Dialect/SparseTensor/IR/Enums.h"
#include "mlir/Dialect/SparseTensor/IR/SparseTensor.h"
#include "mlir/Dialect/SparseTensor/IR/SparseTensorStorageLayout.h"
#include "mlir/Dialect/SparseTensor/IR/SparseTensorType.h"
#include "mlir/Dialect/Arith/IR/Arith.h"
#include "mlir/Dialect/Utils/StaticValueUtils.h"
#include "mlir/IR/Builders.h"
#include "mlir/IR/DialectImplementation.h"
#include "mlir/IR/Matchers.h"
#include "mlir/IR/OpImplementation.h"
#include "mlir/IR/PatternMatch.h"
#include "llvm/ADT/TypeSwitch.h"
#include "llvm/Support/FormatVariadic.h"
#include "mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.cpp.inc"
#include "mlir/Dialect/SparseTensor/IR/SparseTensorAttrEnums.cpp.inc"
#include "mlir/Dialect/SparseTensor/IR/SparseTensorTypes.cpp.inc"
#include "mlir/Dialect/SparseTensor/IR/SparseTensorOps.cpp.inc"
#include "mlir/Dialect/SparseTensor/IR/SparseTensorOpsDialect.cpp.inc"
Go to the source code of this file.
|
static constexpr bool | acceptBitWidth (unsigned bitWidth) |
|
static ParseResult | parseOptionalStaticSlice (int64_t &result, AsmParser &parser) |
|
static SparseTensorEncodingAttr | getNormalizedEncodingForSpecifier (SparseTensorEncodingAttr enc) |
| We normalized sparse tensor encoding attribute by always using ordered/unique LT such that "compressed_nu_no" and "compressed_nu" (as well as other variants) lead to the same storage specifier type, and stripping irrelevant fields that do not alter the sparse tensor memory layout. More...
|
|
static LogicalResult | lvlIsInBounds (Level lvl, Value tensor) |
|
static LogicalResult | isMatchingWidth (Value mem, unsigned width) |
|
static LogicalResult | verifySparsifierGetterSetter (StorageSpecifierKind mdKind, std::optional< Level > lvl, TypedValue< StorageSpecifierType > md, Operation *op) |
|
static Type | getFieldElemType (SparseTensorType stt, SparseTensorFieldKind kind) |
|
static LogicalResult | verifyPackUnPack (Operation *op, bool requiresStaticShape, SparseTensorType stt, RankedTensorType valTp, TypeRange lvlTps) |
|
template<typename SpecifierOp > |
static SetStorageSpecifierOp | getSpecifierSetDef (SpecifierOp op) |
|
template<class T > |
static LogicalResult | verifyNumBlockArgs (T *op, Region ®ion, const char *regionName, TypeRange inputTypes, Type outputType) |
|
◆ GET_ATTRDEF_CLASSES
#define GET_ATTRDEF_CLASSES |
◆ GET_ATTRDEF_LIST
◆ GET_OP_CLASSES
◆ GET_OP_LIST
◆ GET_TYPEDEF_CLASSES
#define GET_TYPEDEF_CLASSES |
◆ GET_TYPEDEF_LIST
◆ acceptBitWidth()
static constexpr bool acceptBitWidth |
( |
unsigned |
bitWidth | ) |
|
|
staticconstexpr |
◆ getFieldElemType()
◆ getNormalizedEncodingForSpecifier()
static SparseTensorEncodingAttr getNormalizedEncodingForSpecifier |
( |
SparseTensorEncodingAttr |
enc | ) |
|
|
static |
◆ getSpecifierSetDef()
template<typename SpecifierOp >
static SetStorageSpecifierOp getSpecifierSetDef |
( |
SpecifierOp |
op | ) |
|
|
static |
◆ isMatchingWidth()
◆ lvlIsInBounds()
◆ parseOptionalStaticSlice()
◆ verifyNumBlockArgs()
◆ verifyPackUnPack()
◆ verifySparsifierGetterSetter()
◆ kDataFieldStartingIdx
◆ kInvalidFieldIndex
constexpr Level kInvalidFieldIndex = -1u |
|
staticconstexpr |
◆ kInvalidLevel
constexpr Level kInvalidLevel = -1u |
|
staticconstexpr |