LLZK 0.1.0
Veridise's ZK Language IR
Loading...
Searching...
No Matches
AffineHelper.h File Reference
#include <mlir/IR/Builders.h>
#include <mlir/IR/OpImplementation.h>
#include <mlir/IR/Operation.h>
#include <mlir/IR/ValueRange.h>
#include <llvm/ADT/SmallVector.h>
Include dependency graph for AffineHelper.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  llzk
 
namespace  llzk::affineMapHelpers
 Group together all implementation related to AffineMap type parameters.
 

Functions

mlir::ParseResult llzk::affineMapHelpers::parseDimAndSymbolList (mlir::OpAsmParser &parser, mlir::SmallVectorImpl< mlir::OpAsmParser::UnresolvedOperand > &mapOperands, mlir::IntegerAttr &numDims)
 Parses dimension and symbol list for an AffineMap instantiation.
 
void llzk::affineMapHelpers::printDimAndSymbolList (mlir::OpAsmPrinter &printer, mlir::Operation *op, mlir::OperandRange mapOperands, mlir::IntegerAttr numDims)
 Prints dimension and symbol list for an AffineMap instantiation.
 
mlir::ParseResult llzk::affineMapHelpers::parseMultiDimAndSymbolList (mlir::OpAsmParser &parser, mlir::SmallVectorImpl< mlir::SmallVector< mlir::OpAsmParser::UnresolvedOperand > > &multiMapOperands, mlir::DenseI32ArrayAttr &numDimsPerMap)
 Parses comma-separated list of multiple AffineMap instantiations.
 
void llzk::affineMapHelpers::printMultiDimAndSymbolList (mlir::OpAsmPrinter &printer, mlir::Operation *op, mlir::OperandRangeRange multiMapOperands, mlir::DenseI32ArrayAttr numDimsPerMap)
 Prints comma-separated list of multiple AffineMap instantiations.
 
mlir::ParseResult llzk::affineMapHelpers::parseAttrDictWithWarnings (mlir::OpAsmParser &parser, mlir::NamedAttrList &extraAttrs, mlir::OperationState &state)
 This custom parse/print AttrDictWithWarnings is necessary to directly check what 'attr-dict' is parsed from the input.
 
template<typename ConcreteOp>
void llzk::affineMapHelpers::printAttrDictWithWarnings (mlir::OpAsmPrinter &printer, ConcreteOp op, mlir::DictionaryAttr extraAttrs, typename ConcreteOp::Properties state)
 
mlir::LogicalResult llzk::affineMapHelpers::verifySizesForMultiAffineOps (mlir::Operation *op, int32_t segmentSize, mlir::ArrayRef< int32_t > mapOpGroupSizes, mlir::OperandRangeRange mapOperands, mlir::ArrayRef< int32_t > numDimsPerMap)
 Implements the ODS trait with the same name.
 
mlir::LogicalResult llzk::affineMapHelpers::verifyAffineMapInstantiations (mlir::OperandRangeRange mapOps, mlir::ArrayRef< int32_t > numDimsPerMap, mlir::ArrayRef< mlir::AffineMapAttr > mapAttrs, mlir::Operation *origin)
 Produces errors if there is an inconsistency between the attributes/values that are used to support affine map instantiation in the op and the AffineMapAttr list collected from the type.
 
template<typename OpClass>
OpClass::Properties & llzk::affineMapHelpers::buildInstantiationAttrs (mlir::OpBuilder &odsBuilder, mlir::OperationState &odsState, mlir::ArrayRef< mlir::ValueRange > mapOperands, mlir::DenseI32ArrayAttr numDimsPerMap, int32_t firstSegmentSize=0)
 Utility for build() functions that initializes the operandSegmentSizes, mapOpGroupSizes, and numDimsPerMap attributes for an Op that performs affine map instantiations.
 
template<typename OpClass>
void llzk::affineMapHelpers::buildInstantiationAttrsNoSegments (mlir::OpBuilder &odsBuilder, mlir::OperationState &odsState, mlir::ArrayRef< mlir::ValueRange > mapOperands, mlir::DenseI32ArrayAttr numDimsPerMap)
 Utility for build() functions that initializes the mapOpGroupSizes, and numDimsPerMap attributes for an Op that performs affine map instantiations in the case were the op does not have two variadic sets of operands.
 
template<typename OpClass>
OpClass::Properties & llzk::affineMapHelpers::buildInstantiationAttrsEmpty (mlir::OpBuilder &odsBuilder, mlir::OperationState &odsState, int32_t firstSegmentSize=0)
 Utility for build() functions that initializes the operandSegmentSizes, mapOpGroupSizes, and numDimsPerMap attributes for an Op that supports affine map instantiations but in the case where there are none.
 
template<typename OpClass>
OpClass::Properties & llzk::affineMapHelpers::buildInstantiationAttrsEmptyNoSegments (mlir::OpBuilder &odsBuilder, mlir::OperationState &odsState)
 Utility for build() functions that initializes the mapOpGroupSizes, and numDimsPerMap attributes for an Op that supports affine map instantiations but in the case where there are none.