|
LLZK 3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
|
Public Types | |
| using | Adaptor = ReadPodOpAdaptor |
| template<typename RangeT> | |
| using | GenericAdaptor = ReadPodOpGenericAdaptor<RangeT> |
| using | FoldAdaptor = GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute>> |
| using | Properties = FoldAdaptor::Properties |
Public Member Functions | |
| static ::llvm::ArrayRef<::llvm::StringRef > | getAttributeNames () |
| ::mlir::StringAttr | getRecordNameAttrName () |
| std::pair< unsigned, unsigned > | getODSOperandIndexAndLength (unsigned index) |
| ::mlir::Operation::operand_range | getODSOperands (unsigned index) |
| ::mlir::TypedValue<::llzk::pod::PodType > | getPodRef () |
| ::mlir::OpOperand & | getPodRefMutable () |
| std::pair< unsigned, unsigned > | getODSResultIndexAndLength (unsigned index) |
| ::mlir::Operation::result_range | getODSResults (unsigned index) |
| ::mlir::TypedValue<::mlir::Type > | getResult () |
| void | writeProperties (::mlir::DialectBytecodeWriter &writer) |
| ::mlir::StringAttr | getRecordNameAttr () |
| ::llvm::StringRef | getRecordName () |
| void | setRecordNameAttr (::mlir::StringAttr attr) |
| void | setRecordName (::llvm::StringRef attrValue) |
| ::llvm::LogicalResult | verifyInvariantsImpl () |
| ::llvm::LogicalResult | verifyInvariants () |
| ::llvm::LogicalResult | verify () |
| bool | canRewire (const ::mlir::DestructurableMemorySlot &slot, ::llvm::SmallPtrSetImpl<::mlir::Attribute > &usedIndices, ::mlir::SmallVectorImpl<::mlir::MemorySlot > &mustBeSafelyUsed, const ::mlir::DataLayout &dataLayout) |
| Required by DestructurableAllocationOpInterface / SROA pass. | |
| ::mlir::DeletionKind | rewire (const ::mlir::DestructurableMemorySlot &slot, ::llvm::DenseMap<::mlir::Attribute, ::mlir::MemorySlot > &subslots, ::mlir::OpBuilder &builder, const ::mlir::DataLayout &dataLayout) |
| Required by DestructurableAllocationOpInterface / SROA pass. | |
| bool | loadsFrom (const ::mlir::MemorySlot &slot) |
| Required by PromotableMemOpInterface / mem2reg pass. | |
| bool | storesTo (const ::mlir::MemorySlot &slot) |
| Required by PromotableMemOpInterface / mem2reg pass. | |
| ::mlir::Value | getStored (const ::mlir::MemorySlot &slot, ::mlir::OpBuilder &builder, ::mlir::Value reachingDef, const ::mlir::DataLayout &dataLayout) |
| Required by PromotableAllocationOpInterface / mem2reg pass. | |
| bool | canUsesBeRemoved (const ::mlir::MemorySlot &slot, const ::llvm::SmallPtrSetImpl<::mlir::OpOperand * > &blockingUses, ::llvm::SmallVectorImpl<::mlir::OpOperand * > &newBlockingUses, const ::mlir::DataLayout &datalayout) |
| Required by PromotableMemOpInterface / mem2reg pass. | |
| ::mlir::DeletionKind | removeBlockingUses (const ::mlir::MemorySlot &slot, const ::llvm::SmallPtrSetImpl< mlir::OpOperand * > &blockingUses, ::mlir::OpBuilder &builder, ::mlir::Value reachingDefinition, const ::mlir::DataLayout &dataLayout) |
| Required by PromotableMemOpInterface / mem2reg pass. | |
| bool | loadsFromDiscardableAllocation (::mlir::Value ptr) |
| Required by DiscardableAllocationAccessorOpInterface / unused allocation cleanup. | |
| bool | storesToDiscardableAllocation (::mlir::Value ptr) |
| Required by DiscardableAllocationAccessorOpInterface / unused allocation cleanup. | |
| bool | canEraseAsDeadStoreTo (::mlir::Value ptr, const ::mlir::DataLayout &dataLayout) |
| Required by DiscardableAllocationAccessorOpInterface / unused allocation cleanup. | |
| bool | isRead () |
| Return true if the op is a read, false if it's a write. | |
| void | print (::mlir::OpAsmPrinter &_odsPrinter) |
| inline ::llzk::pod::PodType | getPodRefType () |
| Gets the type of the referenced pod. | |
Static Public Member Functions | |
| ::mlir::StringAttr | getRecordNameAttrName (::mlir::OperationName name) |
| static constexpr ::llvm::StringLiteral | getOperationName () |
| ::llvm::LogicalResult | setPropertiesFromAttr (Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) |
| ::mlir::Attribute | getPropertiesAsAttr (::mlir::MLIRContext *ctx, const Properties &prop) |
| static llvm::hash_code | computePropertiesHash (const Properties &prop) |
| static std::optional< mlir::Attribute > | getInherentAttr (::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name) |
| static void | setInherentAttr (Properties &prop, llvm::StringRef name, mlir::Attribute value) |
| static void | populateInherentAttrs (::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs) |
| ::llvm::LogicalResult | verifyInherentAttrs (::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) |
| ::llvm::LogicalResult | readProperties (::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state) |
| static void | build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value pod_ref, ::mlir::StringAttr record_name) |
| static void | build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value pod_ref, ::mlir::StringAttr record_name) |
| static void | build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value pod_ref, ::llvm::StringRef record_name) |
| static void | build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value pod_ref, ::llvm::StringRef record_name) |
| static void | build (::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute > attributes={}) |
| ::mlir::ParseResult | parse (::mlir::OpAsmParser &parser, ::mlir::OperationState &result) |
| using llzk::pod::ReadPodOp::FoldAdaptor = GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute>> |
| using llzk::pod::ReadPodOp::GenericAdaptor = ReadPodOpGenericAdaptor<RangeT> |
|
static |
Definition at line 667 of file Ops.cpp.inc.
|
static |
Definition at line 654 of file Ops.cpp.inc.
|
static |
Definition at line 641 of file Ops.cpp.inc.
|
static |
Definition at line 660 of file Ops.cpp.inc.
|
static |
Definition at line 647 of file Ops.cpp.inc.
| bool llzk::pod::ReadPodOp::canEraseAsDeadStoreTo | ( | ::mlir::Value | ptr, |
| const ::mlir::DataLayout & | dataLayout ) |
Required by DiscardableAllocationAccessorOpInterface / unused allocation cleanup.
Definition at line 873 of file Ops.cpp.inc.
| bool llzk::pod::ReadPodOp::canRewire | ( | const ::mlir::DestructurableMemorySlot & | slot, |
| ::llvm::SmallPtrSetImpl<::mlir::Attribute > & | usedIndices, | ||
| ::mlir::SmallVectorImpl<::mlir::MemorySlot > & | mustBeSafelyUsed, | ||
| const ::mlir::DataLayout & | dataLayout ) |
Required by DestructurableAllocationOpInterface / SROA pass.
Definition at line 803 of file Ops.cpp.inc.
| bool llzk::pod::ReadPodOp::canUsesBeRemoved | ( | const ::mlir::MemorySlot & | slot, |
| const ::llvm::SmallPtrSetImpl<::mlir::OpOperand * > & | blockingUses, | ||
| ::llvm::SmallVectorImpl<::mlir::OpOperand * > & | newBlockingUses, | ||
| const ::mlir::DataLayout & | datalayout ) |
Required by PromotableMemOpInterface / mem2reg pass.
Definition at line 836 of file Ops.cpp.inc.
|
static |
Definition at line 601 of file Ops.cpp.inc.
|
inline |
|
static |
Definition at line 606 of file Ops.cpp.inc.
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
static |
Definition at line 585 of file Ops.cpp.inc.
| llvm::StringRef llzk::pod::ReadPodOp::getRecordName | ( | ) |
Definition at line 632 of file Ops.cpp.inc.
|
inline |
|
inline |
|
inlinestatic |
|
inline |
| mlir::Value llzk::pod::ReadPodOp::getStored | ( | const ::mlir::MemorySlot & | slot, |
| ::mlir::OpBuilder & | builder, | ||
| ::mlir::Value | reachingDef, | ||
| const ::mlir::DataLayout & | dataLayout ) |
Required by PromotableAllocationOpInterface / mem2reg pass.
Definition at line 830 of file Ops.cpp.inc.
| bool llzk::pod::ReadPodOp::isRead | ( | ) |
Return true if the op is a read, false if it's a write.
Definition at line 858 of file Ops.cpp.inc.
| bool llzk::pod::ReadPodOp::loadsFrom | ( | const ::mlir::MemorySlot & | slot | ) |
Required by PromotableMemOpInterface / mem2reg pass.
Definition at line 820 of file Ops.cpp.inc.
| bool llzk::pod::ReadPodOp::loadsFromDiscardableAllocation | ( | ::mlir::Value | ptr | ) |
Required by DiscardableAllocationAccessorOpInterface / unused allocation cleanup.
Definition at line 863 of file Ops.cpp.inc.
|
static |
Definition at line 718 of file Ops.cpp.inc.
|
static |
Definition at line 619 of file Ops.cpp.inc.
| void llzk::pod::ReadPodOp::print | ( | ::mlir::OpAsmPrinter & | _odsPrinter | ) |
Definition at line 773 of file Ops.cpp.inc.
|
static |
| mlir::DeletionKind llzk::pod::ReadPodOp::removeBlockingUses | ( | const ::mlir::MemorySlot & | slot, |
| const ::llvm::SmallPtrSetImpl< mlir::OpOperand * > & | blockingUses, | ||
| ::mlir::OpBuilder & | builder, | ||
| ::mlir::Value | reachingDefinition, | ||
| const ::mlir::DataLayout & | dataLayout ) |
Required by PromotableMemOpInterface / mem2reg pass.
Definition at line 850 of file Ops.cpp.inc.
| mlir::DeletionKind llzk::pod::ReadPodOp::rewire | ( | const ::mlir::DestructurableMemorySlot & | slot, |
| ::llvm::DenseMap<::mlir::Attribute, ::mlir::MemorySlot > & | subslots, | ||
| ::mlir::OpBuilder & | builder, | ||
| const ::mlir::DataLayout & | dataLayout ) |
Required by DestructurableAllocationOpInterface / SROA pass.
Definition at line 812 of file Ops.cpp.inc.
|
static |
Definition at line 612 of file Ops.cpp.inc.
|
static |
Definition at line 562 of file Ops.cpp.inc.
| void llzk::pod::ReadPodOp::setRecordName | ( | ::llvm::StringRef | attrValue | ) |
Definition at line 637 of file Ops.cpp.inc.
|
inline |
| bool llzk::pod::ReadPodOp::storesTo | ( | const ::mlir::MemorySlot & | slot | ) |
Required by PromotableMemOpInterface / mem2reg pass.
Definition at line 825 of file Ops.cpp.inc.
| bool llzk::pod::ReadPodOp::storesToDiscardableAllocation | ( | ::mlir::Value | ptr | ) |
Required by DiscardableAllocationAccessorOpInterface / unused allocation cleanup.
Definition at line 868 of file Ops.cpp.inc.
|
static |
Definition at line 623 of file Ops.cpp.inc.
| llvm::LogicalResult llzk::pod::ReadPodOp::verifyInvariants | ( | ) |
Definition at line 712 of file Ops.cpp.inc.
| llvm::LogicalResult llzk::pod::ReadPodOp::verifyInvariantsImpl | ( | ) |
Definition at line 685 of file Ops.cpp.inc.
| void llzk::pod::ReadPodOp::writeProperties | ( | ::mlir::DialectBytecodeWriter & | writer | ) |