LLZK 0.1.0
Veridise's ZK Language IR
Loading...
Searching...
No Matches
llzk::array::CreateArrayOp Class Reference
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)
 
::mlir::LogicalResult verifyInvariantsImpl ()
 
::mlir::LogicalResult verifyInvariants ()
 
::mlir::LogicalResult verify ()
 
::mlir::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::RewriterBase &rewriter)
 Required by PromotableAllocationOpInterface / mem2reg pass.
 
void handleBlockArgument (const ::mlir::MemorySlot &slot, ::mlir::BlockArgument argument, ::mlir::RewriterBase &rewriter)
 Required by PromotableAllocationOpInterface / mem2reg pass.
 
void handlePromotionComplete (const ::mlir::MemorySlot &slot, ::mlir::Value defaultValue, ::mlir::RewriterBase &rewriter)
 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::RewriterBase &rewriter)
 Required by DestructurableAllocationOpInterface / SROA pass.
 
void handleDestructuringComplete (const ::mlir::DestructurableMemorySlot &slot, ::mlir::RewriterBase &rewriter)
 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 ()
 
::mlir::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)
 
::mlir::LogicalResult verifyInherentAttrs (::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
 
::mlir::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)
 
::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 292 of file Ops.h.inc.

Member Typedef Documentation

◆ Adaptor

◆ FoldAdaptor

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

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

◆ GenericAdaptor

Definition at line 298 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 683 of file Ops.cpp.inc.

◆ build() [2/3]

static 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]

static 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 533 of file Ops.cpp.inc.

◆ destructure()

DenseMap< Attribute, MemorySlot > llzk::array::CreateArrayOp::destructure ( const ::mlir::DestructurableMemorySlot & slot,
const ::llvm::SmallPtrSetImpl<::mlir::Attribute > & usedIndices,
::mlir::RewriterBase & rewriter )

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()

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

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

◆ getDefaultValue()

Value llzk::array::CreateArrayOp::getDefaultValue ( const ::mlir::MemorySlot & slot,
::mlir::RewriterBase & rewriter )

Required by PromotableAllocationOpInterface / mem2reg pass.

Definition at line 183 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 825 of file Ops.cpp.inc.

◆ getElements()

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

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

◆ getElementsMutable()

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

Definition at line 416 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 543 of file Ops.cpp.inc.

◆ getMapOperands()

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

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

◆ getMapOperandsMutable()

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

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

◆ getMapOpGroupSizes()

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

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

◆ getMapOpGroupSizesAttr()

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

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

◆ getMapOpGroupSizesAttrName() [1/2]

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

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

◆ getMapOpGroupSizesAttrName() [2/2]

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

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

◆ getNumDimsPerMap()

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

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

◆ getNumDimsPerMapAttr()

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

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

◆ getNumDimsPerMapAttrName() [1/2]

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

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

◆ getNumDimsPerMapAttrName() [2/2]

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

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

◆ getODSOperandIndexAndLength()

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

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

◆ getODSOperands()

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

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

◆ getODSResultIndexAndLength()

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

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

◆ getODSResults()

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

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

◆ getOperandSegmentSizesAttrName() [1/2]

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

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

◆ getOperandSegmentSizesAttrName() [2/2]

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

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

◆ getOperationName()

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

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

◆ getPromotableSlots()

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

Required by PromotableAllocationOpInterface / mem2reg pass.

Definition at line 169 of file Ops.cpp.

◆ getPropertiesAsAttr()

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

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

◆ getResult()

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

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

◆ handleBlockArgument()

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

Required by PromotableAllocationOpInterface / mem2reg pass.

Definition at line 188 of file Ops.cpp.

◆ handleDestructuringComplete()

void llzk::array::CreateArrayOp::handleDestructuringComplete ( const ::mlir::DestructurableMemorySlot & slot,
::mlir::RewriterBase & rewriter )

Required by DestructurableAllocationOpInterface / SROA pass.

Definition at line 161 of file Ops.cpp.

◆ handlePromotionComplete()

void llzk::array::CreateArrayOp::handlePromotionComplete ( const ::mlir::MemorySlot & slot,
::mlir::Value defaultValue,
::mlir::RewriterBase & rewriter )

Required by PromotableAllocationOpInterface / mem2reg pass.

Definition at line 191 of file Ops.cpp.

◆ parse()

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

Definition at line 741 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 688 of file Ops.cpp.inc.

◆ populateInherentAttrs()

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

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

◆ print()

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

Definition at line 802 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()

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

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

◆ setInherentAttr()

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

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

◆ setMapOpGroupSizes()

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

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

◆ setMapOpGroupSizesAttr()

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

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

◆ setNumDimsPerMap()

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

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

◆ setNumDimsPerMapAttr()

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

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

◆ setPropertiesFromAttr()

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

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

◆ verify()

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

Definition at line 100 of file Ops.cpp.

◆ verifyInherentAttrs()

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

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

◆ verifyInvariants()

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

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

◆ verifyInvariantsImpl()

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

Definition at line 694 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 629 of file Ops.cpp.inc.


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