LLZK 3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
llzk::array Namespace Reference

Namespaces

namespace  detail
 Common interface for operations that reference an array value.
namespace  impl

Classes

class  ArrayAccessOpInterface
class  ArrayDialect
 LLZK array operations. More...
class  ArrayIndexGen
 Helper for converting between linear and multi-dimensional indexing with checks to ensure indices are in range for the ArrayType. More...
class  ArrayLengthOp
class  ArrayLengthOpAdaptor
class  ArrayLengthOpGenericAdaptor
class  ArrayRefOpInterface
class  ArrayType
class  CreateArrayOp
class  CreateArrayOpAdaptor
class  CreateArrayOpGenericAdaptor
class  ExtractArrayOp
class  ExtractArrayOpAdaptor
class  ExtractArrayOpGenericAdaptor
class  InsertArrayOp
class  InsertArrayOpAdaptor
class  InsertArrayOpGenericAdaptor
class  ReadArrayOp
class  ReadArrayOpAdaptor
class  ReadArrayOpGenericAdaptor
class  WriteArrayOp
class  WriteArrayOpAdaptor
class  WriteArrayOpGenericAdaptor

Functions

LogicalResult computeDimsFromShape (MLIRContext *ctx, ArrayRef< int64_t > shape, SmallVector< Attribute > &dimensionSizes)
LogicalResult computeShapeFromDims (EmitErrorFn emitError, ArrayRef< Attribute > dimensionSizes, SmallVector< int64_t > &shape)
ParseResult parseDerivedShape (AsmParser &parser, SmallVector< int64_t > &shape, SmallVector< Attribute > dimensionSizes)
void printDerivedShape (AsmPrinter &, ArrayRef< int64_t >, ArrayRef< Attribute >)
ParseResult parseAttrVec (AsmParser &parser, SmallVector< Attribute > &value)
void printAttrVec (AsmPrinter &printer, ArrayRef< Attribute > value)
std::unique_ptr<::mlir::Pass > createArrayToScalarPass ()
std::unique_ptr<::mlir::Pass > createStraightLineStaticArrayPromotionPass ()
mlir::LogicalResult computeDimsFromShape (mlir::MLIRContext *ctx, llvm::ArrayRef< int64_t > shape, llvm::SmallVector< mlir::Attribute > &dimensionSizes)
mlir::LogicalResult computeShapeFromDims (EmitErrorFn emitError, llvm::ArrayRef< mlir::Attribute > dimensionSizes, llvm::SmallVector< int64_t > &shape)
mlir::ParseResult parseDerivedShape (mlir::AsmParser &parser, llvm::SmallVector< int64_t > &shape, llvm::SmallVector< mlir::Attribute > dimensionSizes)
void printDerivedShape (mlir::AsmPrinter &printer, llvm::ArrayRef< int64_t > shape, llvm::ArrayRef< mlir::Attribute > dimensionSizes)
mlir::ParseResult parseAttrVec (mlir::AsmParser &parser, llvm::SmallVector< mlir::Attribute > &value)
void printAttrVec (mlir::AsmPrinter &printer, llvm::ArrayRef< mlir::Attribute > value)
void registerArrayToScalarPass ()
void registerArrayToScalarPassPass ()
void registerStraightLineStaticArrayPromotionPass ()
void registerStraightLineStaticArrayPromotionPassPass ()
void registerTransformationPasses ()

Function Documentation

◆ computeDimsFromShape() [1/2]

mlir::LogicalResult llzk::array::computeDimsFromShape ( mlir::MLIRContext * ctx,
llvm::ArrayRef< int64_t > shape,
llvm::SmallVector< mlir::Attribute > & dimensionSizes )

◆ computeDimsFromShape() [2/2]

LogicalResult llzk::array::computeDimsFromShape ( MLIRContext * ctx,
ArrayRef< int64_t > shape,
SmallVector< Attribute > & dimensionSizes )

Definition at line 22 of file Types.cpp.

◆ computeShapeFromDims() [1/2]

LogicalResult llzk::array::computeShapeFromDims ( EmitErrorFn emitError,
ArrayRef< Attribute > dimensionSizes,
SmallVector< int64_t > & shape )

Definition at line 33 of file Types.cpp.

◆ computeShapeFromDims() [2/2]

mlir::LogicalResult llzk::array::computeShapeFromDims ( EmitErrorFn emitError,
llvm::ArrayRef< mlir::Attribute > dimensionSizes,
llvm::SmallVector< int64_t > & shape )

◆ createArrayToScalarPass()

std::unique_ptr<::mlir::Pass > llzk::array::createArrayToScalarPass ( )

Definition at line 92 of file ArrayToScalarPass.cpp.

◆ createStraightLineStaticArrayPromotionPass()

std::unique_ptr<::mlir::Pass > llzk::array::createStraightLineStaticArrayPromotionPass ( )

Definition at line 179 of file ArrayToScalarPass.cpp.

◆ parseAttrVec() [1/2]

ParseResult llzk::array::parseAttrVec ( AsmParser & parser,
SmallVector< Attribute > & value )

Definition at line 157 of file Types.cpp.

◆ parseAttrVec() [2/2]

mlir::ParseResult llzk::array::parseAttrVec ( mlir::AsmParser & parser,
llvm::SmallVector< mlir::Attribute > & value )

◆ parseDerivedShape() [1/2]

ParseResult llzk::array::parseDerivedShape ( AsmParser & parser,
SmallVector< int64_t > & shape,
SmallVector< Attribute > dimensionSizes )

Definition at line 60 of file Types.cpp.

◆ parseDerivedShape() [2/2]

mlir::ParseResult llzk::array::parseDerivedShape ( mlir::AsmParser & parser,
llvm::SmallVector< int64_t > & shape,
llvm::SmallVector< mlir::Attribute > dimensionSizes )

◆ printAttrVec() [1/2]

void llzk::array::printAttrVec ( AsmPrinter & printer,
ArrayRef< Attribute > value )

Definition at line 185 of file Types.cpp.

◆ printAttrVec() [2/2]

void llzk::array::printAttrVec ( mlir::AsmPrinter & printer,
llvm::ArrayRef< mlir::Attribute > value )

◆ printDerivedShape() [1/2]

void llzk::array::printDerivedShape ( AsmPrinter & ,
ArrayRef< int64_t > ,
ArrayRef< Attribute >  )

Definition at line 71 of file Types.cpp.

◆ printDerivedShape() [2/2]

void llzk::array::printDerivedShape ( mlir::AsmPrinter & printer,
llvm::ArrayRef< int64_t > shape,
llvm::ArrayRef< mlir::Attribute > dimensionSizes )

◆ registerArrayToScalarPass()

void llzk::array::registerArrayToScalarPass ( )
inline

Definition at line 195 of file TransformationPasses.h.

◆ registerArrayToScalarPassPass()

void llzk::array::registerArrayToScalarPassPass ( )
inline

Definition at line 202 of file TransformationPasses.h.

◆ registerStraightLineStaticArrayPromotionPass()

void llzk::array::registerStraightLineStaticArrayPromotionPass ( )
inline

Definition at line 216 of file TransformationPasses.h.

◆ registerStraightLineStaticArrayPromotionPassPass()

void llzk::array::registerStraightLineStaticArrayPromotionPassPass ( )
inline

Definition at line 223 of file TransformationPasses.h.

◆ registerTransformationPasses()

void llzk::array::registerTransformationPasses ( )
inline

Definition at line 237 of file TransformationPasses.h.