#include #include "mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yamlgen.cpp.inc" #include "mlir/Dialect/Linalg/IR/LinalgOps.cpp.inc" #include "mlir/Dialect/Linalg/IR/LinalgStructuredOps.cpp.inc" #include "mlir/Dialect/Linalg/IR/LinalgRelayoutOps.cpp.inc"">

MLIR: lib/Dialect/Linalg/IR/LinalgOps.cpp File Reference (original) (raw)

#include "[mlir/Dialect/Linalg/IR/Linalg.h](mlir%5F2Dialect%5F2Linalg%5F2IR%5F2Linalg%5F8h%5Fsource.html)"
#include "[mlir/AsmParser/AsmParser.h](AsmParser%5F8h%5Fsource.html)"
#include "[mlir/Dialect/Affine/IR/AffineOps.h](AffineOps%5F8h%5Fsource.html)"
#include "[mlir/Dialect/Arith/IR/Arith.h](mlir%5F2Dialect%5F2Arith%5F2IR%5F2Arith%5F8h%5Fsource.html)"
#include "[mlir/Dialect/Arith/Utils/Utils.h](Dialect%5F2Arith%5F2Utils%5F2Utils%5F8h%5Fsource.html)"
#include "[mlir/Dialect/Complex/IR/Complex.h](Complex%5F8h%5Fsource.html)"
#include "[mlir/Dialect/Math/IR/Math.h](mlir%5F2Dialect%5F2Math%5F2IR%5F2Math%5F8h%5Fsource.html)"
#include "[mlir/Dialect/MemRef/IR/MemRef.h](mlir%5F2Dialect%5F2MemRef%5F2IR%5F2MemRef%5F8h%5Fsource.html)"
#include "[mlir/Dialect/SCF/IR/SCF.h](mlir%5F2Dialect%5F2SCF%5F2IR%5F2SCF%5F8h%5Fsource.html)"
#include "[mlir/Dialect/SparseTensor/IR/SparseTensor.h](mlir%5F2Dialect%5F2SparseTensor%5F2IR%5F2SparseTensor%5F8h%5Fsource.html)"
#include "[mlir/Dialect/Tensor/IR/Tensor.h](mlir%5F2Dialect%5F2Tensor%5F2IR%5F2Tensor%5F8h%5Fsource.html)"
#include "[mlir/Dialect/Tensor/Utils/Utils.h](Dialect%5F2Tensor%5F2Utils%5F2Utils%5F8h%5Fsource.html)"
#include "[mlir/Dialect/Utils/IndexingUtils.h](IndexingUtils%5F8h%5Fsource.html)"
#include "[mlir/Dialect/Utils/ReshapeOpsUtils.h](ReshapeOpsUtils%5F8h%5Fsource.html)"
#include "[mlir/Dialect/Utils/StaticValueUtils.h](StaticValueUtils%5F8h%5Fsource.html)"
#include "[mlir/IR/AffineExprVisitor.h](AffineExprVisitor%5F8h%5Fsource.html)"
#include "[mlir/IR/AffineMap.h](mlir%5F2IR%5F2AffineMap%5F8h%5Fsource.html)"
#include "[mlir/IR/Attributes.h](Attributes%5F8h%5Fsource.html)"
#include "[mlir/IR/Builders.h](Builders%5F8h%5Fsource.html)"
#include "[mlir/IR/BuiltinAttributes.h](mlir%5F2IR%5F2BuiltinAttributes%5F8h%5Fsource.html)"
#include "[mlir/IR/BuiltinTypeInterfaces.h](BuiltinTypeInterfaces%5F8h%5Fsource.html)"
#include "[mlir/IR/Matchers.h](Matchers%5F8h%5Fsource.html)"
#include "[mlir/IR/OpImplementation.h](OpImplementation%5F8h%5Fsource.html)"
#include "[mlir/IR/OperationSupport.h](OperationSupport%5F8h%5Fsource.html)"
#include "[mlir/IR/PatternMatch.h](PatternMatch%5F8h%5Fsource.html)"
#include "[mlir/Interfaces/InferTypeOpInterface.h](InferTypeOpInterface%5F8h%5Fsource.html)"
#include "[mlir/Interfaces/SideEffectInterfaces.h](SideEffectInterfaces%5F8h%5Fsource.html)"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SetOperations.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringSet.h"
#include "llvm/ADT/TypeSwitch.h"
#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/InterleavedRange.h"
#include "llvm/Support/LogicalResult.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <optional>
#include "mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yamlgen.cpp.inc"
#include "mlir/Dialect/Linalg/IR/LinalgOps.cpp.inc"
#include "mlir/Dialect/Linalg/IR/LinalgStructuredOps.cpp.inc"
#include "mlir/Dialect/Linalg/IR/LinalgRelayoutOps.cpp.inc"

Go to the source code of this file.

Classes
struct FoldTransposeWithTranspose
Fold transpose with transpose. More...
struct SwapTransposeWithBroadcast
This pattern canonicalize transpose by swapping the order of broadcast and transpose: transpose(broadcast(input)) -> broadcast(transpose(input)) More...
struct mlir::linalg::FoldTensorCastPackOp
Folds a tensor.cast op into a consuming PackOp op if the tensor.cast has source that is more static than the consuming op. More...
struct mlir::linalg::FoldTensorCastUnPackOp
Folds a tensor.cast op into a consuming UnPackOp op if the tensor.cast has source that is more static than the consuming op. More...
Namespaces
Macros
#define GET_OP_CLASSES
#define GET_OP_CLASSES
#define GET_OP_CLASSES
Functions
static OpFoldResult getDimValue (OpBuilder &builder, Location loc, Value v, int64_t dim)
Return a memref.dim or tensor.dim for the shape of v at dim. More...
static Operation * getSlice (OpBuilder &b, Location loc, Value source, ArrayRef< OpFoldResult > offsets, ArrayRef< OpFoldResult > sizes, ArrayRef< OpFoldResult > strides)
Returns a memref.subview or a tensor.extract_slice based on the type of the source. More...
static void fillStructuredOpRegion (OpBuilder &opBuilder, Region &region, TypeRange inputTypes, TypeRange outputTypes, ArrayRef< NamedAttribute > attrs, RegionBuilderFn regionBuilder)
Fills the region of a structured operation using the provided regionBuilder. More...
static void buildStructuredOp (OpBuilder &b, OperationState &state, std::optional< TypeRange > resultTensorTypes, ValueRange inputs, ValueRange outputs, ArrayRef< NamedAttribute > attributes, RegionBuilderFn regionBuilder)
Creates a structured operation given inputs, outputs, and attributes. More...
static void buildMatmulOp (OpBuilder &b, OperationState &state, std::optional< TypeRange > resultTensorTypes, ValueRange inputs, ValueRange outputs, ArrayRef< NamedAttribute > attributes, RegionBuilderFn regionBuilder, ArrayRef< AffineMap > indexingMaps)
static void buildBatchMatmulOp (OpBuilder &b, OperationState &state, std::optional< TypeRange > resultTensorTypes, ValueRange inputs, ValueRange outputs, ArrayRef< NamedAttribute > attributes, RegionBuilderFn regionBuilder, ArrayRef< AffineMap > indexingMaps)
static void buildBatchReduceMatmulOp (OpBuilder &b, OperationState &state, std::optional< TypeRange > resultTensorTypes, ValueRange inputs, ValueRange outputs, ArrayRef< NamedAttribute > attributes, RegionBuilderFn regionBuilder, ArrayRef< AffineMap > indexingMaps)
static ParseResult parseCommonStructuredOpParts (OpAsmParser &parser, OperationState &result, SmallVectorImpl< Type > &inputTypes, SmallVectorImpl< Type > &outputTypes, bool addOperandSegmentSizes=true)
Common parsing used for both named structured ops created by ods-gen and by manually defined C++ ops. More...
static void printCommonStructuredOpParts (OpAsmPrinter &p, ValueRange inputs, ValueRange outputs)
static ParseResult parseNamedStructuredOpRegion (OpAsmParser &parser, Region &region, unsigned numRegionArgs, TypeRange inputTypes, TypeRange outputTypes, ArrayRef< NamedAttribute > attrs, RegionBuilderFn regionBuilder)
static ParseResult parseNamedStructuredOpResults (OpAsmParser &parser, SmallVectorImpl< Type > &resultTypes)
static ParseResult parseNamedStructuredOp (OpAsmParser &parser, OperationState &result, unsigned numRegionArgs, RegionBuilderFn regionBuilder)
static void printNamedStructuredOpResults (OpAsmPrinter &p, TypeRange resultTypes)
static void printNamedStructuredOp (OpAsmPrinter &p, Operation *op, ValueRange inputs, ValueRange outputs, ArrayRef< StringRef > elidedAttrs={})
static void buildGenericRegion (OpBuilder &builder, Location loc, Region &region, ValueRange inputs, ValueRange outputs, function_ref< void(OpBuilder &, Location, ValueRange)> bodyBuild)
static void getGenericEffectsImpl (SmallVectorImpl< SideEffects::EffectInstance< MemoryEffects::Effect >> &effects, LinalgOp linalgOp)
static Speculation::Speculatability getGenericSpeculatabilityImpl (LinalgOp linalgOp)
static ParseResult parseDstStyleOp (OpAsmParser &parser, OperationState &result, function_ref< ParseResult(OpAsmParser &, NamedAttrList &)> parseAttrsFn=nullptr)
static void addBodyWithPayloadOp (OpAsmParser &parser, OperationState &result, const OperationName &payloadOpName, const NamedAttrList &payloadOpAttrs, ArrayRef< Value > operands, bool initFirst=false)
static Operation * findPayloadOp (Block *body, bool initFirst=false)
void printShortForm (OpAsmPrinter &p, Operation *payloadOp)
static ParseResult parseDenseI64ArrayAttr (OpAsmParser &parser, NamedAttrList &attributes, StringRef attributeName)
static void printDenseI64ArrayAttr (OpAsmPrinter &p, StringRef attributeName, ArrayRef< int64_t > attributeValue)
static void buildIdentityRegion (OpBuilder &builder, Location loc, Region &region, ValueRange inputs, ValueRange outputs)
static LogicalResult verifyYield (linalg::YieldOp op, LinalgOp linalgOp)
static LogicalResult appendMangledType (llvm::raw_string_ostream &ss, Type t)
static std::tuple< SmallVector< utils::IteratorType >, SmallVector< AffineMap > > computeIteratorTypesAndIndexingMaps (OpBuilder &builder, int64_t inputRank, int64_t dim, bool allParallel=false)
template
static Value reduce (OpBuilder &builder, Location loc, Value input, Value output, int64_t dim)
static Value buildSubAndExpOp (OpBuilder &builder, Location loc, Value input, Value max, Value output, int64_t dim)
Produce a linalg generic that computes the second step of the softmax decomposition: res = exp(input - max), where max is the max of input on dimension dim. More...
static Value buildDivOp (OpBuilder &builder, Location loc, Value numerator, Value denominator, Value output, int64_t dim)
Produce a linalg generic that computes the final step of the softmax decomposition. More...
static bool areResultExprsSubsetOf (AffineMap subMap, AffineMap fullMap)
static bool isBroadcasted (AffineMap explictMap, AffineMap defaultMap)
Check if the user defined map is valid broadcast map. More...
static LogicalResult verifyExtendedMatmulSemantic (MatmulOp matmulOp, unsigned opIndex)
Verifies the broadcast and transpose semantic sepecified by the explicit indexing map for the MatmulOp op for each operand specified by opIndex. More...
template
static LogicalResult verifyInputMaps (OpTy batchVariantMatmulOp, AffineMap opIndexingMap, AffineMap defaultIndexingMap, bool isLHS)
template
static LogicalResult verifyOutputMap (OpTy batchVariantMatmulOp, AffineMap opIndexingMap)
This function checks if the given AffineMap for the output of a BatchMatmulOp/BatchReduceMatmulOp has exactly the desired number of result dimensions and if the output map result dimensions are valid. More...
template
static LogicalResult verifyExtendedBatchVariantMatmulSemantic (OpTy batchVariantMatmulOp, unsigned opIndex)
Verifies the broadcast and transpose semantic specified by the explicit indexing map for the BatchMatmulOp/BatchReduceMatmulOp op for each operand specified by opIndex. More...
FailureOr< ArrayAttr > mlir::linalg::parseIndexingMapsAttr (OpAsmParser &parser)
static ArityGroupAndKind mlir::linalg::getArityGroupAndKind (ElementwiseKind kind)
static SmallVector< OpFoldResult > mlir::linalg::getNewMixedTileSizes (PatternRewriter &rewriter, Type newPackedTy, SmallVector< OpFoldResult > mixedTiles)
template
static LogicalResult mlir::linalg::reifyResultShapesImpl (OpTy op, OpBuilder &builder, ReifiedRankedShapedTypeDims &reifiedReturnShapes)
template
static DenseMap< int64_t, OpFoldResult > mlir::linalg::getDimAndTileMappingImpl (OpTy op)
template
static SmallVector< OpFoldResult > mlir::linalg::getMixedTilesImpl (OpTy op)
template
static SmallVector< int64_t > mlir::linalg::getStaticTilesImpl (OpTy op)
static bool mlir::linalg::isInvalidPackingPosSpecification (ArrayRef< int64_t > dimsPos, size_t rank)
Returns true if dimsPos is invalid. More...
static bool mlir::linalg::areAllInBound (ArrayRef< int64_t > sourceShape, ArrayRef< int64_t > limitShape)
Returns true if the dimension of sourceShape is smaller than the dimension of the limitShape. More...
template
static LogicalResult mlir::linalg::commonVerifierPackAndUnPackOp (OpTy packOrUnPack)
template
static PackOrUnPackTransposeResult mlir::linalg::commonPermutationOfPackAndUnPackOp (OpTy packOrUnPackOp, ArrayRef< int64_t > innerPermutation, ArrayRef< int64_t > outerPermutation)
static SmallVector< int64_t > mlir::linalg::asShapeWithAnyValueAsDynamic (ArrayRef< OpFoldResult > ofrs)
Converts OpFoldResults to int64_t shape entries, unconditionally mapping all Value's to kDynamic, even if they are arith.constant values. More...
static SmallVector< int64_t > mlir::linalg::getPackOpResultTypeShape (ArrayRef< int64_t > sourceShape, ArrayRef< int64_t > innerTileSizes, ArrayRef< int64_t > innerDimsPos, ArrayRef< int64_t > outerDimsPerm)
Helper for PackOp::{getResultShape,inferPackedType}. More...
template
bool mlir::linalg::areTilesAndTiledDimsAllConstant (OpTy op)
Returns true if the tiles and the tiled dims are constant. More...
static bool mlir::linalg::hasSameInnerOuterAttribute (PackOp packOp, UnPackOp unPackOp)
static bool mlir::linalg::haveSameTiles (PackOp packOp, UnPackOp unPackOp)
static bool mlir::linalg::paddingIsNotNeeded (PackOp op)
Returns true if the pack op does not need a padding value. More...
static bool mlir::linalg::inferStaticShape (PackOp packOp, SmallVectorImpl< int64_t > &srcShape, SmallVectorImpl< int64_t > &destShape)
Returns true if the srcShape or destShape is different from the one in packOp and populates each with the inferred static shape. More...
template
static bool mlir::linalg::isLikePadUnPad (PackOrUnpackOp packOp, RankedTensorType packedTensorType)
static bool mlir::linalg::inferStaticShape (UnPackOp op, SmallVectorImpl< int64_t > &srcShape, SmallVectorImpl< int64_t > &destShape)
Returns true if the srcShape or destShape is different from the one in op and populates each with the inferred static shape. More...

GET_OP_CLASSES [1/3]

GET_OP_CLASSES [2/3]

GET_OP_CLASSES [3/3]

RegionBuilderFn

addBodyWithPayloadOp()

Definition at line 1437 of file LinalgOps.cpp.

References mlir::Block::addArgument(), mlir::OperationState::addRegion(), mlir::OpBuilder::create(), mlir::Region::emplaceBlock(), mlir::Block::getArguments(), mlir::AsmParser::getContext(), mlir::Operation::getResults(), mlir::Builder::getStringAttr(), mlir::OperationName::getStringRef(), mlir::Value::getType(), mlir::Builder::getUnknownLoc(), mlir::OperationState::location, and mlir::OpBuilder::setInsertionPointToStart().

appendMangledType()

static LogicalResult appendMangledType ( llvm::raw_string_ostream & ss, Type t ) static

areResultExprsSubsetOf()

buildBatchMatmulOp()

buildBatchReduceMatmulOp()

buildDivOp()

buildGenericRegion()

buildIdentityRegion()

buildMatmulOp()

buildStructuredOp()

Creates a structured operation given inputs, outputs, and attributes.

The result types are derived automatically if resultTensorTypes is none. The body of the operation is filled using regionBuilder. All ods-gen created structured operations use the method to implement their builders.

Definition at line 162 of file LinalgOps.cpp.

buildSubAndExpOp()

computeIteratorTypesAndIndexingMaps()

static std::tuple<SmallVectorutils::IteratorType, SmallVector<AffineMap> > computeIteratorTypesAndIndexingMaps ( OpBuilder & builder, int64_t inputRank, int64_t dim, bool allParallel = false ) static

fillStructuredOpRegion()

findPayloadOp()

static Operation* findPayloadOp ( Block * body, bool initFirst = false ) static

getDimValue()

getGenericEffectsImpl()

getGenericSpeculatabilityImpl()

getSlice()

isBroadcasted()

Check if the user defined map is valid broadcast map.

Here broadcast indexing maps are defined in context of corresponding default indexing maps for the given Op. This way the check becomes very simple i.e just check the number of result dims. Returns true if the explictMap is broadcasted with respect to the defaultMap.

Definition at line 3484 of file LinalgOps.cpp.

References mlir::AffineMap::getNumResults().

Referenced by verifyExtendedMatmulSemantic(), and verifyInputMaps().

parseCommonStructuredOpParts()

Common parsing used for both named structured ops created by ods-gen and by manually defined C++ ops.

Does not handle regions.

Definition at line 243 of file LinalgOps.cpp.

References mlir::OperationState::addAttribute(), mlir::NamedAttrList::append(), mlir::OperationState::attributes, mlir::AsmParser::getBuilder(), mlir::AsmParser::getContext(), mlir::AsmParser::getCurrentLocation(), mlir::Builder::getDenseI32ArrayAttr(), mlir::NamedAttrList::getDictionary(), mlir::OperationName::getRegisteredInfo(), mlir::OperationState::name, mlir::OperationState::operands, mlir::AsmParser::parseAttribute(), mlir::AsmParser::parseColonTypeList(), mlir::AsmParser::parseGreater(), mlir::AsmParser::parseLParen(), mlir::OpAsmParser::parseOperandList(), mlir::AsmParser::parseOptionalAttrDict(), mlir::AsmParser::parseOptionalKeyword(), mlir::AsmParser::parseOptionalLess(), mlir::AsmParser::parseRParen(), mlir::OperationState::propertiesAttr, and mlir::OpAsmParser::resolveOperands().

Referenced by parseDstStyleOp(), and parseNamedStructuredOp().

parseDenseI64ArrayAttr()

static ParseResult parseDenseI64ArrayAttr ( OpAsmParser & parser, NamedAttrList & attributes, StringRef attributeName ) static

parseDstStyleOp()

parseNamedStructuredOp()

parseNamedStructuredOpRegion()

parseNamedStructuredOpResults()

printCommonStructuredOpParts()

printDenseI64ArrayAttr()

static void printDenseI64ArrayAttr ( OpAsmPrinter & p, StringRef attributeName, ArrayRef< int64_t > attributeValue ) static

printNamedStructuredOp()

printNamedStructuredOpResults()

printShortForm()

reduce()

verifyExtendedBatchVariantMatmulSemantic()

template

static LogicalResult verifyExtendedBatchVariantMatmulSemantic ( OpTy batchVariantMatmulOp, unsigned opIndex ) static

Verifies the broadcast and transpose semantic specified by the explicit indexing map for the BatchMatmulOp/BatchReduceMatmulOp op for each operand specified by opIndex.

Definition at line 3596 of file LinalgOps.cpp.

References verifyInputMaps(), and verifyOutputMap().

verifyExtendedMatmulSemantic()

static LogicalResult verifyExtendedMatmulSemantic ( MatmulOp matmulOp, unsigned opIndex ) static

verifyInputMaps()

template

static LogicalResult verifyInputMaps ( OpTy batchVariantMatmulOp, AffineMap opIndexingMap, AffineMap defaultIndexingMap, bool isLHS ) static

verifyOutputMap()

template

static LogicalResult verifyOutputMap ( OpTy batchVariantMatmulOp, AffineMap opIndexingMap ) static

verifyYield()

static LogicalResult verifyYield ( linalg::YieldOp op, LinalgOp linalgOp ) static

arityGroup

ElementwiseArityGroup arityGroup

binaryFn

innerDimsPos

innerTiles

union { ... } ::ArityGroupAndKind::Kind kind

Referenced by mlir::lsp::adjustKindToCapability(), mlir::AliasResult::AliasResult(), mlir::presburger::IntegerRelation::appendVar(), areIdsEqual(), areVarsUnique(), mlir::sparse_tensor::Merger::buildLattices(), mlir::detail::ConversionPatternRewriterImpl::buildUnresolvedMaterialization(), checkedAddLLVMFnAttribute(), mlir::tblgen::ClassDeclaration::ClassDeclaration(), mlir::detail::SourceMgrDiagnosticVerifierHandlerImpl::computeExpectedDiags(), mlir::sparse_tensor::Merger::conjLat(), mlir::tblgen::Constraint::Constraint(), mlir::detail::Parser::consumeIf(), mlir::detail::Parser::consumeToken(), mlir::presburger::IntegerRelation::convertToLocal(), mlir::LLVMTypeConverter::convertType(), mlir::presburger::PresburgerSpace::convertVarKind(), convTypes(), convVals(), createContractArithOp(), createGroupReduceOp(), createPushback(), deduplicateAndResolveOperands(), mlir::sparse_tensor::ir_detail::DimLvlExpr::DimLvlExpr(), mlir::sparse_tensor::Merger::disjSet(), mlir::sparse_tensor::Merger::disjSetWithZero(), mlir::SourceMgrDiagnosticHandler::emitDiagnostic(), genExp(), mlir::getAffineBinaryOpExpr(), getAffineDimOrSymbol(), mlir::sparse_tensor::ir_detail::DimLvlExpr::getAllowedVarKind(), mlir::linalg::getArityGroupAndKind(), mlir::presburger::MaybeOptimum< T >::getBoundedOptimum(), getDiagKind(), getDiagKindStr(), mlir::sparse_tensor::ir_detail::DimLvlExpr::getExprKind(), getFieldElemType(), mlir::sparse_tensor::StorageLayout::getFieldIndexAndStride(), mlir::presburger::PresburgerSpace::getId(), mlir::arith::getIdentityValueAttr(), mlir::presburger::IntegerRelation::getIds(), mlir::presburger::PresburgerSpace::getIds(), mlir::presburger::MaybeOptimum< T >::getKind(), mlir::sparse_tensor::ir_detail::VarInfo::getKind(), getMatchSyncIntrinsicId(), mlir::FlatLinearValueConstraints::getMaybeValues(), mlir::sparse_tensor::SparseTensorDescriptorImpl< ValueArrayRef >::getMemRefElementType(), mlir::sparse_tensor::SparseTensorDescriptorImpl< ValueArrayRef >::getMemRefField(), mlir::sparse_tensor::StorageLayout::getMemRefFieldIndex(), mlir::sparse_tensor::SparseTensorDescriptorImpl< ValueArrayRef >::getMemRefFieldIndex(), mlir::presburger::IntegerRelation::getNumVarKind(), mlir::presburger::PresburgerSpace::getNumVarKind(), mlir::presburger::PWMAFunction::getNumVarKind(), mlir::lsp::PDLLServer::getPDLLViewOutput(), getProcBindKind(), getReduxIntrinsicId(), getSetDifference(), getShflIntrinsicId(), getSparseHandleKeyword(), mlir::sparse_tensor::SparseTensorSpecifier::getSpecifierField(), mlir::sparse_tensor::SparseTensorDescriptorImpl< ValueArrayRef >::getSpecifierField(), getSupportedReduction(), mlir::affine::getSupportedReductions(), mlir::Token::getTokenSpelling(), mlir::FlatLinearValueConstraints::getValue(), mlir::sparse_tensor::ir_detail::VarInfo::getVar(), mlir::tblgen::SymbolInfoMap::SymbolInfo::getVarDecl(), mlir::presburger::IntegerRelation::getVarKindEnd(), mlir::presburger::PresburgerSpace::getVarKindEnd(), mlir::presburger::IntegerRelation::getVarKindOffset(), mlir::presburger::PresburgerSpace::getVarKindOffset(), mlir::presburger::IntegerRelation::getVarKindOverlap(), mlir::presburger::PresburgerSpace::getVarKindOverlap(), mlir::tblgen::SymbolInfoMap::SymbolInfo::getVarTypeStr(), getVoteSyncIntrinsicId(), mlir::FlatLinearValueConstraints::hasValue(), mlir::LLVMImportInterface::initializeImport(), mlir::FlatLinearValueConstraints::insertVar(), mlir::presburger::IntegerRelation::insertVar(), mlir::presburger::PresburgerSpace::insertVar(), mlir::presburger::IntegerPolyhedron::insertVar(), mlir::presburger::PresburgerRelation::insertVarInPlace(), mlir::ModRefResult::intersect(), mlir::presburger::PresburgerSpace::isAligned(), mlir::presburger::MaybeOptimum< T >::isBounded(), mlir::Token::isCodeCompletionFor(), mlir::LLVMImportInterface::isConvertibleMetadata(), mlir::presburger::MaybeOptimum< T >::isEmpty(), mlir::sparse_tensor::isGreater(), mlir::ModRefResult::isMod(), mlir::ModRefResult::isModAndRef(), mlir::ModRefResult::isModOrRef(), mlir::ModRefResult::isNoModRef(), mlir::Token::isOrIsCodeCompletionFor(), mlir::xegpu::isReadHintOrNone(), mlir::ModRefResult::isRef(), isSupportedPoolKind(), mlir::presburger::MaybeOptimum< T >::isUnbounded(), isValidKind(), mlir::xegpu::isWriteHintOrNone(), mlir::sparse_tensor::kindToOpSymbol(), mlir::OpBuilder::Listener::Listener(), mlir::OpBuilder::ListenerBase::ListenerBase(), mlir::presburger::MaybeOptimum< T >::map(), mlir::sparse_tensor::Merger::mapBinWithSynZeroSet(), mlir::sparse_tensor::Merger::mapSet(), mlir::presburger::MaybeOptimum< T >::MaybeOptimum(), mlir::ModRefResult::merge(), mlir::lsp::operator<<(), mlir::presburger::MaybeOptimum< T >::operator==(), mlir::ModRefResult::operator==(), mlir::sparse_tensor::ir_detail::DimLvlExpr::operator==(), parseAffineMapWithMinMax(), mlir::pdl_to_pdl_interp::Position::Position(), mlir::presburger::PresburgerSpace::print(), mlir::pdll::ods::Context::print(), mlir::LLVM::ModuleImport::processFunction(), mlir::pdl_to_pdl_interp::Qualifier::Qualifier(), mlir::presburger::IntegerRelation::removeVar(), mlir::FlatLinearValueConstraints::removeVarRange(), mlir::presburger::IntegerRelation::removeVarRange(), mlir::presburger::PresburgerSpace::removeVarRange(), mlir::affine::FlatAffineRelation::removeVarRange(), mlir::LLVM::ModuleTranslation::setAliasScopeMetadata(), mlir::presburger::IntegerRelation::setId(), mlir::presburger::PresburgerSpace::setId(), mlir::sparse_tensor::MutSparseTensorDescriptor::setMemRefField(), mlir::LLVMImportInterface::setMetadataAttrs(), mlir::sparse_tensor::MutSparseTensorDescriptor::setSpecifierField(), mlir::sparse_tensor::SparseTensorSpecifier::setSpecifierField(), mlir::FlatLinearValueConstraints::setValue(), mlir::sparse_tensor::toFieldKind(), mlir::Token::Token(), mlir::pdll::Token::Token(), mlir::sparse_tensor::toSpecifierKind(), mlir::toString(), toTextKind(), and mlir::presburger::IntegerRelation::truncateVarKind().

outerDimsPerm

ternaryFn

unaryFn