LLZK 0.1.0
Veridise's ZK Language IR
|
Public Types | |
using | Adaptor = ReadArrayOpAdaptor |
template<typename RangeT> | |
using | GenericAdaptor = ReadArrayOpGenericAdaptor<RangeT> |
using | FoldAdaptor = GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute>> |
Public Member Functions | |
static ::llvm::ArrayRef<::llvm::StringRef > | getAttributeNames () |
std::pair< unsigned, unsigned > | getODSOperandIndexAndLength (unsigned index) |
::mlir::Operation::operand_range | getODSOperands (unsigned index) |
::mlir::TypedValue<::llzk::array::ArrayType > | getArrRef () |
::mlir::Operation::operand_range | getIndices () |
::mlir::OpOperand & | getArrRefMutable () |
::mlir::MutableOperandRange | getIndicesMutable () |
std::pair< unsigned, unsigned > | getODSResultIndexAndLength (unsigned index) |
::mlir::Operation::result_range | getODSResults (unsigned index) |
::mlir::Value | getResult () |
::mlir::LogicalResult | verifyInvariantsImpl () |
::mlir::LogicalResult | verifyInvariants () |
::mlir::LogicalResult | verify () |
bool | canRewire (const ::mlir::DestructurableMemorySlot &slot, ::llvm::SmallPtrSetImpl<::mlir::Attribute > &usedIndices, ::mlir::SmallVectorImpl<::mlir::MemorySlot > &mustBeSafelyUsed) |
Required by DestructurableAllocationOpInterface / SROA pass. | |
::mlir::DeletionKind | rewire (const ::mlir::DestructurableMemorySlot &slot, ::llvm::DenseMap<::mlir::Attribute, ::mlir::MemorySlot > &subslots, ::mlir::RewriterBase &rewriter) |
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::RewriterBase &rewriter) |
Required by PromotableAllocationOpInterface / mem2reg pass. | |
bool | canUsesBeRemoved (const ::mlir::MemorySlot &slot, const ::llvm::SmallPtrSetImpl<::mlir::OpOperand * > &blockingUses, ::llvm::SmallVectorImpl<::mlir::OpOperand * > &newBlockingUses) |
Required by PromotableMemOpInterface / mem2reg pass. | |
::mlir::DeletionKind | removeBlockingUses (const ::mlir::MemorySlot &slot, const ::llvm::SmallPtrSetImpl< mlir::OpOperand * > &blockingUses, ::mlir::RewriterBase &rewriter, ::mlir::Value reachingDefinition) |
Required by PromotableMemOpInterface / mem2reg pass. | |
::mlir::LogicalResult | verifySymbolUses (::mlir::SymbolTableCollection &symbolTable) |
bool | isRead () |
Return true if the op is a read, false if it's a write. | |
void | print (::mlir::OpAsmPrinter &_odsPrinter) |
inline ::llzk::array::ArrayType | getArrRefType () |
Gets the type of the referenced base array. | |
Static Public Member Functions | |
static constexpr ::llvm::StringLiteral | getOperationName () |
static void | build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value arr_ref, ::mlir::ValueRange indices) |
static void | build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value arr_ref, ::mlir::ValueRange indices) |
static void | build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value arr_ref, ::mlir::ValueRange indices) |
static void | build (::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute > attributes={}) |
static void | build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute > attributes={}) |
::mlir::LogicalResult | inferReturnTypes (::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes) |
::mlir::ParseResult | parse (::mlir::OpAsmParser &parser, ::mlir::OperationState &result) |
::mlir::LogicalResult | inferReturnTypes (::mlir::MLIRContext *context, std::optional<::mlir::Location > location, Adaptor adaptor, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes) |
static bool | isCompatibleReturnTypes (::mlir::TypeRange l, ::mlir::TypeRange r) |
using llzk::array::ReadArrayOp::FoldAdaptor = GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute>> |
using llzk::array::ReadArrayOp::GenericAdaptor = ReadArrayOpGenericAdaptor<RangeT> |
|
static |
Definition at line 1499 of file Ops.cpp.inc.
|
static |
Definition at line 1471 of file Ops.cpp.inc.
|
static |
Definition at line 1492 of file Ops.cpp.inc.
|
static |
Definition at line 1477 of file Ops.cpp.inc.
|
static |
Definition at line 1507 of file Ops.cpp.inc.
bool llzk::array::ReadArrayOp::canRewire | ( | const ::mlir::DestructurableMemorySlot & | slot, |
::llvm::SmallPtrSetImpl<::mlir::Attribute > & | usedIndices, | ||
::mlir::SmallVectorImpl<::mlir::MemorySlot > & | mustBeSafelyUsed ) |
Required by DestructurableAllocationOpInterface / SROA pass.
Definition at line 1657 of file Ops.cpp.inc.
bool llzk::array::ReadArrayOp::canUsesBeRemoved | ( | const ::mlir::MemorySlot & | slot, |
const ::llvm::SmallPtrSetImpl<::mlir::OpOperand * > & | blockingUses, | ||
::llvm::SmallVectorImpl<::mlir::OpOperand * > & | newBlockingUses ) |
mlir::TypedValue<::llzk::array::ArrayType > llzk::array::ReadArrayOp::getArrRef | ( | ) |
Definition at line 1438 of file Ops.cpp.inc.
mlir::OpOperand & llzk::array::ReadArrayOp::getArrRefMutable | ( | ) |
Definition at line 1446 of file Ops.cpp.inc.
|
inline |
|
inline |
mlir::Operation::operand_range llzk::array::ReadArrayOp::getIndices | ( | ) |
Definition at line 1442 of file Ops.cpp.inc.
mlir::MutableOperandRange llzk::array::ReadArrayOp::getIndicesMutable | ( | ) |
Definition at line 1451 of file Ops.cpp.inc.
std::pair< unsigned, unsigned > llzk::array::ReadArrayOp::getODSOperandIndexAndLength | ( | unsigned | index | ) |
Definition at line 1414 of file Ops.cpp.inc.
mlir::Operation::operand_range llzk::array::ReadArrayOp::getODSOperands | ( | unsigned | index | ) |
Definition at line 1432 of file Ops.cpp.inc.
std::pair< unsigned, unsigned > llzk::array::ReadArrayOp::getODSResultIndexAndLength | ( | unsigned | index | ) |
Definition at line 1457 of file Ops.cpp.inc.
mlir::Operation::result_range llzk::array::ReadArrayOp::getODSResults | ( | unsigned | index | ) |
Definition at line 1461 of file Ops.cpp.inc.
|
inlinestatic |
mlir::Value llzk::array::ReadArrayOp::getResult | ( | ) |
Definition at line 1467 of file Ops.cpp.inc.
mlir::Value llzk::array::ReadArrayOp::getStored | ( | const ::mlir::MemorySlot & | slot, |
::mlir::RewriterBase & | rewriter ) |
Required by PromotableAllocationOpInterface / mem2reg pass.
Definition at line 1685 of file Ops.cpp.inc.
|
static |
|
static |
|
static |
bool llzk::array::ReadArrayOp::isRead | ( | ) |
Return true
if the op is a read, false
if it's a write.
Definition at line 1690 of file Ops.cpp.inc.
bool llzk::array::ReadArrayOp::loadsFrom | ( | const ::mlir::MemorySlot & | slot | ) |
Required by PromotableMemOpInterface / mem2reg pass.
Definition at line 1675 of file Ops.cpp.inc.
|
static |
Definition at line 1561 of file Ops.cpp.inc.
void llzk::array::ReadArrayOp::print | ( | ::mlir::OpAsmPrinter & | _odsPrinter | ) |
Definition at line 1616 of file Ops.cpp.inc.
DeletionKind llzk::array::ReadArrayOp::removeBlockingUses | ( | const ::mlir::MemorySlot & | slot, |
const ::llvm::SmallPtrSetImpl< mlir::OpOperand * > & | blockingUses, | ||
::mlir::RewriterBase & | rewriter, | ||
::mlir::Value | reachingDefinition ) |
mlir::DeletionKind llzk::array::ReadArrayOp::rewire | ( | const ::mlir::DestructurableMemorySlot & | slot, |
::llvm::DenseMap<::mlir::Attribute, ::mlir::MemorySlot > & | subslots, | ||
::mlir::RewriterBase & | rewriter ) |
Required by DestructurableAllocationOpInterface / SROA pass.
Definition at line 1666 of file Ops.cpp.inc.
bool llzk::array::ReadArrayOp::storesTo | ( | const ::mlir::MemorySlot & | slot | ) |
Required by PromotableMemOpInterface / mem2reg pass.
Definition at line 1680 of file Ops.cpp.inc.
mlir::LogicalResult llzk::array::ReadArrayOp::verifyInvariants | ( | ) |
Definition at line 1555 of file Ops.cpp.inc.
mlir::LogicalResult llzk::array::ReadArrayOp::verifyInvariantsImpl | ( | ) |
Definition at line 1525 of file Ops.cpp.inc.
LogicalResult llzk::array::ReadArrayOp::verifySymbolUses | ( | ::mlir::SymbolTableCollection & | symbolTable | ) |