LLZK 0.1.0
Veridise's ZK Language IR
|
#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>
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. | |