LLZK 0.1.0
Veridise's ZK Language IR
Loading...
Searching...
No Matches
Inheritance diagram for llzk::array::CreateArrayOp:
[legend]
Collaboration diagram for llzk::array::CreateArrayOp:
[legend]

Public Types

using Adaptor = CreateArrayOpAdaptor
template<typename RangeT>
using GenericAdaptor = CreateArrayOpGenericAdaptor<RangeT>
using FoldAdaptor = GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute>>
using Properties = FoldAdaptor::Properties

Public Member Functions

static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames ()
::mlir::StringAttr getMapOpGroupSizesAttrName ()
::mlir::StringAttr getNumDimsPerMapAttrName ()
::mlir::StringAttr getOperandSegmentSizesAttrName ()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength (unsigned index)
::mlir::Operation::operand_range getODSOperands (unsigned index)
::mlir::Operation::operand_range getElements ()
::mlir::OperandRangeRange getMapOperands ()
::mlir::MutableOperandRange getElementsMutable ()
::mlir::MutableOperandRangeRange getMapOperandsMutable ()
std::pair< unsigned, unsigned > getODSResultIndexAndLength (unsigned index)
::mlir::Operation::result_range getODSResults (unsigned index)
::mlir::TypedValue<::llzk::array::ArrayTypegetResult ()
void writeProperties (::mlir::DialectBytecodeWriter &writer)
::mlir::DenseI32ArrayAttr getNumDimsPerMapAttr ()
::llvm::ArrayRef< int32_t > getNumDimsPerMap ()
::mlir::DenseI32ArrayAttr getMapOpGroupSizesAttr ()
::llvm::ArrayRef< int32_t > getMapOpGroupSizes ()
void setNumDimsPerMapAttr (::mlir::DenseI32ArrayAttr attr)
void setNumDimsPerMap (::llvm::ArrayRef< int32_t > attrValue)
void setMapOpGroupSizesAttr (::mlir::DenseI32ArrayAttr attr)
void setMapOpGroupSizes (::llvm::ArrayRef< int32_t > attrValue)
::llvm::LogicalResult verifyInvariantsImpl ()
::llvm::LogicalResult verifyInvariants ()
::llvm::LogicalResult verify ()
::llvm::LogicalResult verifySymbolUses (::mlir::SymbolTableCollection &symbolTable)
void getAsmResultNames (::mlir::OpAsmSetValueNameFn setNameFn)
::llvm::SmallVector<::mlir::MemorySlot > getPromotableSlots ()
 Required by PromotableAllocationOpInterface / mem2reg pass.
::mlir::Value getDefaultValue (const ::mlir::MemorySlot &slot, ::mlir::OpBuilder &builder)
 Required by PromotableAllocationOpInterface / mem2reg pass.
void handleBlockArgument (const ::mlir::MemorySlot &slot, ::mlir::BlockArgument argument, ::mlir::OpBuilder &builder)
 Required by PromotableAllocationOpInterface / mem2reg pass.
::std::optional<::mlir::PromotableAllocationOpInterface > handlePromotionComplete (const ::mlir::MemorySlot &slot, ::mlir::Value defaultValue, ::mlir::OpBuilder &builder)
 Required by PromotableAllocationOpInterface / mem2reg pass.
::llvm::SmallVector<::mlir::DestructurableMemorySlot > getDestructurableSlots ()
 Required by DestructurableAllocationOpInterface / SROA pass.
::llvm::DenseMap<::mlir::Attribute, ::mlir::MemorySlot > destructure (const ::mlir::DestructurableMemorySlot &slot, const ::llvm::SmallPtrSetImpl<::mlir::Attribute > &usedIndices, ::mlir::OpBuilder &builder, ::mlir::SmallVectorImpl<::mlir::DestructurableAllocationOpInterface > &newAllocators)
 Required by DestructurableAllocationOpInterface / SROA pass.
::std::optional<::mlir::DestructurableAllocationOpInterface > handleDestructuringComplete (const ::mlir::DestructurableMemorySlot &slot, ::mlir::OpBuilder &builder)
 Required by DestructurableAllocationOpInterface / SROA pass.
void print (::mlir::OpAsmPrinter &_odsPrinter)
void getEffects (::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)

Static Public Member Functions

::mlir::StringAttr getMapOpGroupSizesAttrName (::mlir::OperationName name)
::mlir::StringAttr getNumDimsPerMapAttrName (::mlir::OperationName name)
::mlir::StringAttr getOperandSegmentSizesAttrName (::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, ::llzk::array::ArrayType result, ::mlir::ValueRange elements={})
static void build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::array::ArrayType result, ::llvm::ArrayRef<::mlir::ValueRange > mapOperands, ::mlir::DenseI32ArrayAttr numDimsPerMap)
static void build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::array::ArrayType result, ::llvm::ArrayRef<::mlir::ValueRange > mapOperands, ::llvm::ArrayRef< int32_t > numDimsPerMap)
static void populateDefaultProperties (::mlir::OperationName opName, Properties &properties)
::mlir::ParseResult parse (::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult setPropertiesFromParsedAttr (Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::ParseResult parseInferredArrayType (::mlir::OpAsmParser &parser, ::llvm::SmallVector<::mlir::Type, 1 > &elementsTypes, ::mlir::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand > elements, ::mlir::Type resultType)
static void printInferredArrayType (::mlir::OpAsmPrinter &printer, CreateArrayOp, ::mlir::TypeRange, ::mlir::OperandRange, ::mlir::Type)

Detailed Description

Definition at line 339 of file Ops.h.inc.

Member Typedef Documentation

◆ Adaptor

◆ FoldAdaptor

using llzk::array::CreateArrayOp::FoldAdaptor = GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute>>

Definition at line 346 of file Ops.h.inc.

◆ GenericAdaptor

Definition at line 345 of file Ops.h.inc.

◆ Properties

Member Function Documentation

◆ build() [1/3]

void llzk::array::CreateArrayOp::build ( ::mlir::OpBuilder & odsBuilder,
::mlir::OperationState & odsState,
::llzk::array::ArrayType result,
::llvm::ArrayRef<::mlir::ValueRange > mapOperands,
::llvm::ArrayRef< int32_t > numDimsPerMap )
static

Definition at line 559 of file Ops.cpp.inc.

◆ build() [2/3]

void llzk::array::CreateArrayOp::build ( ::mlir::OpBuilder & odsBuilder,
::mlir::OperationState & odsState,
::llzk::array::ArrayType result,
::llvm::ArrayRef<::mlir::ValueRange > mapOperands,
::mlir::DenseI32ArrayAttr numDimsPerMap )
static

◆ build() [3/3]

void llzk::array::CreateArrayOp::build ( ::mlir::OpBuilder & odsBuilder,
::mlir::OperationState & odsState,
::llzk::array::ArrayType result,
::mlir::ValueRange elements = {} )
static

◆ computePropertiesHash()

llvm::hash_code llzk::array::CreateArrayOp::computePropertiesHash ( const Properties & prop)
static

Definition at line 425 of file Ops.cpp.inc.

◆ destructure()

DenseMap< Attribute, MemorySlot > llzk::array::CreateArrayOp::destructure ( const ::mlir::DestructurableMemorySlot & slot,
const ::llvm::SmallPtrSetImpl<::mlir::Attribute > & usedIndices,
::mlir::OpBuilder & builder,
::mlir::SmallVectorImpl<::mlir::DestructurableAllocationOpInterface > & newAllocators )

Required by DestructurableAllocationOpInterface / SROA pass.

Definition at line 132 of file Ops.cpp.

◆ getAsmResultNames()

void llzk::array::CreateArrayOp::getAsmResultNames ( ::mlir::OpAsmSetValueNameFn setNameFn)

Definition at line 71 of file Ops.cpp.

◆ getAttributeNames()

::llvm::ArrayRef<::llvm::StringRef > llzk::array::CreateArrayOp::getAttributeNames ( )
inline

Definition at line 348 of file Ops.h.inc.

◆ getDefaultValue()

Value llzk::array::CreateArrayOp::getDefaultValue ( const ::mlir::MemorySlot & slot,
::mlir::OpBuilder & builder )

Required by PromotableAllocationOpInterface / mem2reg pass.

Definition at line 185 of file Ops.cpp.

◆ getDestructurableSlots()

SmallVector< DestructurableMemorySlot > llzk::array::CreateArrayOp::getDestructurableSlots ( )

Required by DestructurableAllocationOpInterface / SROA pass.

Definition at line 119 of file Ops.cpp.

◆ getEffects()

void llzk::array::CreateArrayOp::getEffects ( ::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > & effects)

Definition at line 729 of file Ops.cpp.inc.

◆ getElements()

::mlir::Operation::operand_range llzk::array::CreateArrayOp::getElements ( )
inline

Definition at line 388 of file Ops.h.inc.

◆ getElementsMutable()

mlir::MutableOperandRange llzk::array::CreateArrayOp::getElementsMutable ( )

Definition at line 334 of file Ops.cpp.inc.

◆ getInherentAttr()

std::optional< mlir::Attribute > llzk::array::CreateArrayOp::getInherentAttr ( ::mlir::MLIRContext * ctx,
const Properties & prop,
llvm::StringRef name )
static

Definition at line 435 of file Ops.cpp.inc.

◆ getMapOperands()

::mlir::OperandRangeRange llzk::array::CreateArrayOp::getMapOperands ( )
inline

Definition at line 392 of file Ops.h.inc.

◆ getMapOperandsMutable()

mlir::MutableOperandRangeRange llzk::array::CreateArrayOp::getMapOperandsMutable ( )

Definition at line 340 of file Ops.cpp.inc.

◆ getMapOpGroupSizes()

llvm::ArrayRef< int32_t > llzk::array::CreateArrayOp::getMapOpGroupSizes ( )

Definition at line 546 of file Ops.cpp.inc.

◆ getMapOpGroupSizesAttr()

::mlir::DenseI32ArrayAttr llzk::array::CreateArrayOp::getMapOpGroupSizesAttr ( )
inline

Definition at line 426 of file Ops.h.inc.

◆ getMapOpGroupSizesAttrName() [1/2]

::mlir::StringAttr llzk::array::CreateArrayOp::getMapOpGroupSizesAttrName ( )
inline

Definition at line 353 of file Ops.h.inc.

◆ getMapOpGroupSizesAttrName() [2/2]

::mlir::StringAttr llzk::array::CreateArrayOp::getMapOpGroupSizesAttrName ( ::mlir::OperationName name)
inlinestatic

Definition at line 357 of file Ops.h.inc.

◆ getNumDimsPerMap()

llvm::ArrayRef< int32_t > llzk::array::CreateArrayOp::getNumDimsPerMap ( )

Definition at line 541 of file Ops.cpp.inc.

◆ getNumDimsPerMapAttr()

::mlir::DenseI32ArrayAttr llzk::array::CreateArrayOp::getNumDimsPerMapAttr ( )
inline

Definition at line 421 of file Ops.h.inc.

◆ getNumDimsPerMapAttrName() [1/2]

::mlir::StringAttr llzk::array::CreateArrayOp::getNumDimsPerMapAttrName ( )
inline

Definition at line 361 of file Ops.h.inc.

◆ getNumDimsPerMapAttrName() [2/2]

::mlir::StringAttr llzk::array::CreateArrayOp::getNumDimsPerMapAttrName ( ::mlir::OperationName name)
inlinestatic

Definition at line 365 of file Ops.h.inc.

◆ getODSOperandIndexAndLength()

std::pair< unsigned, unsigned > llzk::array::CreateArrayOp::getODSOperandIndexAndLength ( unsigned index)

Definition at line 325 of file Ops.cpp.inc.

◆ getODSOperands()

::mlir::Operation::operand_range llzk::array::CreateArrayOp::getODSOperands ( unsigned index)
inline

Definition at line 382 of file Ops.h.inc.

◆ getODSResultIndexAndLength()

std::pair< unsigned, unsigned > llzk::array::CreateArrayOp::getODSResultIndexAndLength ( unsigned index)
inline

Definition at line 398 of file Ops.h.inc.

◆ getODSResults()

::mlir::Operation::result_range llzk::array::CreateArrayOp::getODSResults ( unsigned index)
inline

Definition at line 402 of file Ops.h.inc.

◆ getOperandSegmentSizesAttrName() [1/2]

::mlir::StringAttr llzk::array::CreateArrayOp::getOperandSegmentSizesAttrName ( )
inline

Definition at line 369 of file Ops.h.inc.

◆ getOperandSegmentSizesAttrName() [2/2]

::mlir::StringAttr llzk::array::CreateArrayOp::getOperandSegmentSizesAttrName ( ::mlir::OperationName name)
inlinestatic

Definition at line 373 of file Ops.h.inc.

◆ getOperationName()

constexpr ::llvm::StringLiteral llzk::array::CreateArrayOp::getOperationName ( )
inlinestatic

Definition at line 377 of file Ops.h.inc.

◆ getPromotableSlots()

SmallVector< MemorySlot > llzk::array::CreateArrayOp::getPromotableSlots ( )

Required by PromotableAllocationOpInterface / mem2reg pass.

Definition at line 171 of file Ops.cpp.

◆ getPropertiesAsAttr()

mlir::Attribute llzk::array::CreateArrayOp::getPropertiesAsAttr ( ::mlir::MLIRContext * ctx,
const Properties & prop )
static

Definition at line 394 of file Ops.cpp.inc.

◆ getResult()

::mlir::TypedValue<::llzk::array::ArrayType > llzk::array::CreateArrayOp::getResult ( )
inline

Definition at line 408 of file Ops.h.inc.

◆ handleBlockArgument()

void llzk::array::CreateArrayOp::handleBlockArgument ( const ::mlir::MemorySlot & slot,
::mlir::BlockArgument argument,
::mlir::OpBuilder & builder )

Required by PromotableAllocationOpInterface / mem2reg pass.

Definition at line 190 of file Ops.cpp.

◆ handleDestructuringComplete()

std::optional< DestructurableAllocationOpInterface > llzk::array::CreateArrayOp::handleDestructuringComplete ( const ::mlir::DestructurableMemorySlot & slot,
::mlir::OpBuilder & builder )

Required by DestructurableAllocationOpInterface / SROA pass.

Definition at line 162 of file Ops.cpp.

◆ handlePromotionComplete()

std::optional< PromotableAllocationOpInterface > llzk::array::CreateArrayOp::handlePromotionComplete ( const ::mlir::MemorySlot & slot,
::mlir::Value defaultValue,
::mlir::OpBuilder & builder )

Required by PromotableAllocationOpInterface / mem2reg pass.

Definition at line 193 of file Ops.cpp.

◆ parse()

mlir::ParseResult llzk::array::CreateArrayOp::parse ( ::mlir::OpAsmParser & parser,
::mlir::OperationState & result )
static

Definition at line 617 of file Ops.cpp.inc.

◆ parseInferredArrayType()

ParseResult llzk::array::CreateArrayOp::parseInferredArrayType ( ::mlir::OpAsmParser & parser,
::llvm::SmallVector<::mlir::Type, 1 > & elementsTypes,
::mlir::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand > elements,
::mlir::Type resultType )
static

Definition at line 81 of file Ops.cpp.

◆ populateDefaultProperties()

void llzk::array::CreateArrayOp::populateDefaultProperties ( ::mlir::OperationName opName,
Properties & properties )
static

Definition at line 564 of file Ops.cpp.inc.

◆ populateInherentAttrs()

void llzk::array::CreateArrayOp::populateInherentAttrs ( ::mlir::MLIRContext * ctx,
const Properties & prop,
::mlir::NamedAttrList & attrs )
static

Definition at line 465 of file Ops.cpp.inc.

◆ print()

void llzk::array::CreateArrayOp::print ( ::mlir::OpAsmPrinter & _odsPrinter)

Definition at line 706 of file Ops.cpp.inc.

◆ printInferredArrayType()

void llzk::array::CreateArrayOp::printInferredArrayType ( ::mlir::OpAsmPrinter & printer,
CreateArrayOp ,
::mlir::TypeRange ,
::mlir::OperandRange ,
::mlir::Type  )
static

Definition at line 94 of file Ops.cpp.

◆ readProperties()

llvm::LogicalResult llzk::array::CreateArrayOp::readProperties ( ::mlir::DialectBytecodeReader & reader,
::mlir::OperationState & state )
static

Definition at line 487 of file Ops.cpp.inc.

◆ setInherentAttr()

void llzk::array::CreateArrayOp::setInherentAttr ( Properties & prop,
llvm::StringRef name,
mlir::Attribute value )
static

Definition at line 445 of file Ops.cpp.inc.

◆ setMapOpGroupSizes()

void llzk::array::CreateArrayOp::setMapOpGroupSizes ( ::llvm::ArrayRef< int32_t > attrValue)

Definition at line 555 of file Ops.cpp.inc.

◆ setMapOpGroupSizesAttr()

void llzk::array::CreateArrayOp::setMapOpGroupSizesAttr ( ::mlir::DenseI32ArrayAttr attr)
inline

Definition at line 436 of file Ops.h.inc.

◆ setNumDimsPerMap()

void llzk::array::CreateArrayOp::setNumDimsPerMap ( ::llvm::ArrayRef< int32_t > attrValue)

Definition at line 551 of file Ops.cpp.inc.

◆ setNumDimsPerMapAttr()

void llzk::array::CreateArrayOp::setNumDimsPerMapAttr ( ::mlir::DenseI32ArrayAttr attr)
inline

Definition at line 431 of file Ops.h.inc.

◆ setPropertiesFromAttr()

llvm::LogicalResult llzk::array::CreateArrayOp::setPropertiesFromAttr ( Properties & prop,
::mlir::Attribute attr,
::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError )
static

Definition at line 346 of file Ops.cpp.inc.

◆ setPropertiesFromParsedAttr()

llvm::LogicalResult llzk::array::CreateArrayOp::setPropertiesFromParsedAttr ( Properties & prop,
::mlir::Attribute attr,
::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError )
static

Definition at line 678 of file Ops.cpp.inc.

◆ verify()

LogicalResult llzk::array::CreateArrayOp::verify ( )

Definition at line 100 of file Ops.cpp.

◆ verifyInherentAttrs()

llvm::LogicalResult llzk::array::CreateArrayOp::verifyInherentAttrs ( ::mlir::OperationName opName,
::mlir::NamedAttrList & attrs,
llvm::function_ref<::mlir::InFlightDiagnostic()> emitError )
static

Definition at line 472 of file Ops.cpp.inc.

◆ verifyInvariants()

llvm::LogicalResult llzk::array::CreateArrayOp::verifyInvariants ( )

Definition at line 611 of file Ops.cpp.inc.

◆ verifyInvariantsImpl()

llvm::LogicalResult llzk::array::CreateArrayOp::verifyInvariantsImpl ( )

Definition at line 570 of file Ops.cpp.inc.

◆ verifySymbolUses()

LogicalResult llzk::array::CreateArrayOp::verifySymbolUses ( ::mlir::SymbolTableCollection & symbolTable)

Definition at line 66 of file Ops.cpp.

◆ writeProperties()

void llzk::array::CreateArrayOp::writeProperties ( ::mlir::DialectBytecodeWriter & writer)

Definition at line 521 of file Ops.cpp.inc.


The documentation for this class was generated from the following files: