LLZK 2.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
Inheritance diagram for llzk::function::CallOp:
[legend]
Collaboration diagram for llzk::function::CallOp:
[legend]

Public Types

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

Public Member Functions

static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames ()
::mlir::StringAttr getCalleeAttrName ()
::mlir::StringAttr getMapOpGroupSizesAttrName ()
::mlir::StringAttr getNumDimsPerMapAttrName ()
::mlir::StringAttr getTemplateParamsAttrName ()
::mlir::StringAttr getOperandSegmentSizesAttrName ()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength (unsigned index)
::mlir::Operation::operand_range getODSOperands (unsigned index)
::mlir::Operation::operand_range getArgOperands ()
::mlir::OperandRangeRange getMapOperands ()
::mlir::MutableOperandRange getArgOperandsMutable ()
::mlir::MutableOperandRangeRange getMapOperandsMutable ()
std::pair< unsigned, unsigned > getODSResultIndexAndLength (unsigned index)
::mlir::Operation::result_range getODSResults (unsigned index)
void writeProperties (::mlir::DialectBytecodeWriter &writer)
::mlir::SymbolRefAttr getCalleeAttr ()
::mlir::SymbolRefAttr getCallee ()
::mlir::ArrayAttr getTemplateParamsAttr ()
::std::optional< ::mlir::ArrayAttr > getTemplateParams ()
::mlir::DenseI32ArrayAttr getNumDimsPerMapAttr ()
::llvm::ArrayRef< int32_t > getNumDimsPerMap ()
::mlir::DenseI32ArrayAttr getMapOpGroupSizesAttr ()
::llvm::ArrayRef< int32_t > getMapOpGroupSizes ()
void setCalleeAttr (::mlir::SymbolRefAttr attr)
void setTemplateParamsAttr (::mlir::ArrayAttr attr)
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::Attribute removeTemplateParamsAttr ()
::llvm::LogicalResult verifyInvariantsImpl ()
::llvm::LogicalResult verifyInvariants ()
::mlir::CallInterfaceCallable getCallableForCallee ()
 Return the callee of this operation.
void setCalleeFromCallable (::mlir::CallInterfaceCallable callee)
 Set the callee for this operation.
::llvm::LogicalResult verifySymbolUses (::mlir::SymbolTableCollection &symbolTable)
void print (::mlir::OpAsmPrinter &_odsPrinter)
::mlir::Operation * resolveCallableInTable (::mlir::SymbolTableCollection *symbolTable)
 Required by CallOpInterface.
::mlir::Operation * resolveCallable ()
 Required by CallOpInterface.
::mlir::FunctionType getTypeSignature ()
 Return the FunctionType inferred from the arg operands and result types of this CallOp.
::mlir::FailureOr< UnificationMapunifyTypeSignature (::mlir::FunctionType other)
 Attempt type unfication between the inferred FunctionType from this CallOp (as LHS) and the given FunctionType (as RHS).
bool calleeIsCompute ()
 Return true iff the callee function name is FUNC_NAME_COMPUTE (this does not check if the callee function is located within a StructDefOp).
bool calleeContainsWitnessGen ()
 Return true iff the callee function can contain witness generation code (this does not check if the callee function is located within a StructDefOp)
bool calleeIsConstrain ()
 Return true iff the callee function name is FUNC_NAME_CONSTRAIN (this does not check if the callee function is located within a StructDefOp).
bool calleeIsStructCompute ()
 Return true iff the callee function name is FUNC_NAME_COMPUTE within a StructDefOp.
bool calleeIsStructConstrain ()
 Return true iff the callee function name is FUNC_NAME_CONSTRAIN within a StructDefOp.
::mlir::Value getSelfValueFromCompute ()
 Return the "self" value (i.e.
::mlir::Value getSelfValueFromConstrain ()
 Return the "self" value (i.e.
::mlir::FailureOr<::llzk::SymbolLookupResult<::llzk::function::FuncDefOp > > getCalleeTarget (::mlir::SymbolTableCollection &tables)
 Resolve and return the target FuncDefOp for this CallOp.
::llzk::component::StructType getSingleResultTypeOfCompute ()
 Assuming the callee is FUNC_NAME_COMPUTE, return the single StructType result.
::llzk::component::StructType getSingleResultTypeOfWitnessGen ()
 Assuming the callee contains witness generation code, return the single StructType result.
static ::llvm::SmallVector<::mlir::ValueRange > toVectorOfValueRange (::mlir::OperandRangeRange)
 Allocate consecutive storage of the ValueRange instances in the parameter so it can be passed to the builders as an ArrayRef<ValueRange>.
::mlir::LogicalResult verifyTemplateParamCompatibility (::mlir::Attribute paramFromCallOp, ::llzk::polymorphic::TemplateParamOp targetParam)
 Check type compatibility of the given template parameter value from this CallOp against the declared type on the given TemplateParamOp (if any).
::mlir::LogicalResult verifyTemplateParamCompatibility (::llvm::iterator_range<::mlir::Region::op_iterator<::llzk::polymorphic::TemplateParamOp > > targetParamDefs)
 Check type compatibility of each template parameter value provided in this CallOp against the declared type on each TemplateParamOp (if any).
::mlir::LogicalResult verifyTemplateParamsMatchInferred (::llvm::iterator_range<::mlir::Region::op_iterator<::llzk::polymorphic::TemplateParamOp > > targetParamDefs, const UnificationMap &unifications)
 Verify that each template parameter value provided in this CallOp is consistent with the value inferred for the target TemplateParamOp in the given UnificationMap.

Static Public Member Functions

::mlir::StringAttr getCalleeAttrName (::mlir::OperationName name)
::mlir::StringAttr getMapOpGroupSizesAttrName (::mlir::OperationName name)
::mlir::StringAttr getNumDimsPerMapAttrName (::mlir::OperationName name)
::mlir::StringAttr getTemplateParamsAttrName (::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, ::mlir::TypeRange resultTypes, ::mlir::SymbolRefAttr callee, ::mlir::ValueRange argOperands={}, ::llvm::ArrayRef<::mlir::Attribute > templateParams={})
static void build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::SymbolRefAttr callee, ::llvm::ArrayRef<::mlir::ValueRange > mapOperands, ::mlir::DenseI32ArrayAttr numDimsPerMap, ::mlir::ValueRange argOperands={}, ::llvm::ArrayRef<::mlir::Attribute > templateParams={})
static void build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::SymbolRefAttr callee, ::llvm::ArrayRef<::mlir::ValueRange > mapOperands, ::llvm::ArrayRef< int32_t > numDimsPerMap, ::mlir::ValueRange argOperands={}, ::llvm::ArrayRef<::mlir::Attribute > templateParams={})
static void build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::function::FuncDefOp callee, ::mlir::ValueRange argOperands={}, ::llvm::ArrayRef<::mlir::Attribute > templateParams={})
static void build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::function::FuncDefOp callee, ::llvm::ArrayRef<::mlir::ValueRange > mapOperands, ::mlir::DenseI32ArrayAttr numDimsPerMap, ::mlir::ValueRange argOperands={}, ::llvm::ArrayRef<::mlir::Attribute > templateParams={})
static void build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::function::FuncDefOp callee, ::llvm::ArrayRef<::mlir::ValueRange > mapOperands, ::llvm::ArrayRef< int32_t > numDimsPerMap, ::mlir::ValueRange argOperands={}, ::llvm::ArrayRef<::mlir::Attribute > templateParams={})
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)

Detailed Description

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

Member Typedef Documentation

◆ Adaptor

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

◆ FoldAdaptor

using llzk::function::CallOp::FoldAdaptor = GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute>>

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

◆ GenericAdaptor

template<typename RangeT>
using llzk::function::CallOp::GenericAdaptor = CallOpGenericAdaptor<RangeT>

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

◆ Properties

Member Function Documentation

◆ build() [1/6]

void llzk::function::CallOp::build ( ::mlir::OpBuilder & odsBuilder,
::mlir::OperationState & odsState,
::llzk::function::FuncDefOp callee,
::llvm::ArrayRef<::mlir::ValueRange > mapOperands,
::llvm::ArrayRef< int32_t > numDimsPerMap,
::mlir::ValueRange argOperands = {},
::llvm::ArrayRef<::mlir::Attribute > templateParams = {} )
static

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

◆ build() [2/6]

void llzk::function::CallOp::build ( ::mlir::OpBuilder & odsBuilder,
::mlir::OperationState & odsState,
::llzk::function::FuncDefOp callee,
::llvm::ArrayRef<::mlir::ValueRange > mapOperands,
::mlir::DenseI32ArrayAttr numDimsPerMap,
::mlir::ValueRange argOperands = {},
::llvm::ArrayRef<::mlir::Attribute > templateParams = {} )
static

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

◆ build() [3/6]

void llzk::function::CallOp::build ( ::mlir::OpBuilder & odsBuilder,
::mlir::OperationState & odsState,
::llzk::function::FuncDefOp callee,
::mlir::ValueRange argOperands = {},
::llvm::ArrayRef<::mlir::Attribute > templateParams = {} )
static

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

◆ build() [4/6]

void llzk::function::CallOp::build ( ::mlir::OpBuilder & odsBuilder,
::mlir::OperationState & odsState,
::mlir::TypeRange resultTypes,
::mlir::SymbolRefAttr callee,
::llvm::ArrayRef<::mlir::ValueRange > mapOperands,
::llvm::ArrayRef< int32_t > numDimsPerMap,
::mlir::ValueRange argOperands = {},
::llvm::ArrayRef<::mlir::Attribute > templateParams = {} )
static

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

◆ build() [5/6]

void llzk::function::CallOp::build ( ::mlir::OpBuilder & odsBuilder,
::mlir::OperationState & odsState,
::mlir::TypeRange resultTypes,
::mlir::SymbolRefAttr callee,
::llvm::ArrayRef<::mlir::ValueRange > mapOperands,
::mlir::DenseI32ArrayAttr numDimsPerMap,
::mlir::ValueRange argOperands = {},
::llvm::ArrayRef<::mlir::Attribute > templateParams = {} )
static

◆ build() [6/6]

void llzk::function::CallOp::build ( ::mlir::OpBuilder & odsBuilder,
::mlir::OperationState & odsState,
::mlir::TypeRange resultTypes,
::mlir::SymbolRefAttr callee,
::mlir::ValueRange argOperands = {},
::llvm::ArrayRef<::mlir::Attribute > templateParams = {} )
static

◆ calleeContainsWitnessGen()

bool llzk::function::CallOp::calleeContainsWitnessGen ( )
inline

Return true iff the callee function can contain witness generation code (this does not check if the callee function is located within a StructDefOp)

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

◆ calleeIsCompute()

bool llzk::function::CallOp::calleeIsCompute ( )
inline

Return true iff the callee function name is FUNC_NAME_COMPUTE (this does not check if the callee function is located within a StructDefOp).

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

◆ calleeIsConstrain()

bool llzk::function::CallOp::calleeIsConstrain ( )
inline

Return true iff the callee function name is FUNC_NAME_CONSTRAIN (this does not check if the callee function is located within a StructDefOp).

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

◆ calleeIsStructCompute()

bool llzk::function::CallOp::calleeIsStructCompute ( )

Return true iff the callee function name is FUNC_NAME_COMPUTE within a StructDefOp.

Definition at line 1032 of file Ops.cpp.

◆ calleeIsStructConstrain()

bool llzk::function::CallOp::calleeIsStructConstrain ( )

Return true iff the callee function name is FUNC_NAME_CONSTRAIN within a StructDefOp.

Definition at line 1038 of file Ops.cpp.

◆ computePropertiesHash()

llvm::hash_code llzk::function::CallOp::computePropertiesHash ( const Properties & prop)
static

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

◆ getArgOperands()

::mlir::Operation::operand_range llzk::function::CallOp::getArgOperands ( )
inline

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

◆ getArgOperandsMutable()

mlir::MutableOperandRange llzk::function::CallOp::getArgOperandsMutable ( )

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

◆ getAttributeNames()

::llvm::ArrayRef<::llvm::StringRef > llzk::function::CallOp::getAttributeNames ( )
inline

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

◆ getCallableForCallee()

CallInterfaceCallable llzk::function::CallOp::getCallableForCallee ( )

Return the callee of this operation.

Definition at line 1072 of file Ops.cpp.

◆ getCallee()

mlir::SymbolRefAttr llzk::function::CallOp::getCallee ( )

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

◆ getCalleeAttr()

::mlir::SymbolRefAttr llzk::function::CallOp::getCalleeAttr ( )
inline

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

◆ getCalleeAttrName() [1/2]

::mlir::StringAttr llzk::function::CallOp::getCalleeAttrName ( )
inline

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

◆ getCalleeAttrName() [2/2]

::mlir::StringAttr llzk::function::CallOp::getCalleeAttrName ( ::mlir::OperationName name)
inlinestatic

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

◆ getCalleeTarget()

FailureOr< SymbolLookupResult< FuncDefOp > > llzk::function::CallOp::getCalleeTarget ( ::mlir::SymbolTableCollection & tables)

Resolve and return the target FuncDefOp for this CallOp.

Definition at line 1054 of file Ops.cpp.

◆ getInherentAttr()

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

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

◆ getMapOperands()

::mlir::OperandRangeRange llzk::function::CallOp::getMapOperands ( )
inline

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

◆ getMapOperandsMutable()

mlir::MutableOperandRangeRange llzk::function::CallOp::getMapOperandsMutable ( )

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

◆ getMapOpGroupSizes()

llvm::ArrayRef< int32_t > llzk::function::CallOp::getMapOpGroupSizes ( )

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

◆ getMapOpGroupSizesAttr()

::mlir::DenseI32ArrayAttr llzk::function::CallOp::getMapOpGroupSizesAttr ( )
inline

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

◆ getMapOpGroupSizesAttrName() [1/2]

::mlir::StringAttr llzk::function::CallOp::getMapOpGroupSizesAttrName ( )
inline

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

◆ getMapOpGroupSizesAttrName() [2/2]

::mlir::StringAttr llzk::function::CallOp::getMapOpGroupSizesAttrName ( ::mlir::OperationName name)
inlinestatic

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

◆ getNumDimsPerMap()

llvm::ArrayRef< int32_t > llzk::function::CallOp::getNumDimsPerMap ( )

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

◆ getNumDimsPerMapAttr()

::mlir::DenseI32ArrayAttr llzk::function::CallOp::getNumDimsPerMapAttr ( )
inline

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

◆ getNumDimsPerMapAttrName() [1/2]

::mlir::StringAttr llzk::function::CallOp::getNumDimsPerMapAttrName ( )
inline

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

◆ getNumDimsPerMapAttrName() [2/2]

::mlir::StringAttr llzk::function::CallOp::getNumDimsPerMapAttrName ( ::mlir::OperationName name)
inlinestatic

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

◆ getODSOperandIndexAndLength()

std::pair< unsigned, unsigned > llzk::function::CallOp::getODSOperandIndexAndLength ( unsigned index)

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

◆ getODSOperands()

::mlir::Operation::operand_range llzk::function::CallOp::getODSOperands ( unsigned index)
inline

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

◆ getODSResultIndexAndLength()

std::pair< unsigned, unsigned > llzk::function::CallOp::getODSResultIndexAndLength ( unsigned index)

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

◆ getODSResults()

::mlir::Operation::result_range llzk::function::CallOp::getODSResults ( unsigned index)
inline

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

◆ getOperandSegmentSizesAttrName() [1/2]

::mlir::StringAttr llzk::function::CallOp::getOperandSegmentSizesAttrName ( )
inline

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

◆ getOperandSegmentSizesAttrName() [2/2]

::mlir::StringAttr llzk::function::CallOp::getOperandSegmentSizesAttrName ( ::mlir::OperationName name)
inlinestatic

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

◆ getOperationName()

constexpr ::llvm::StringLiteral llzk::function::CallOp::getOperationName ( )
inlinestatic

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

◆ getPropertiesAsAttr()

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

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

◆ getSelfValueFromCompute()

Value llzk::function::CallOp::getSelfValueFromCompute ( )

Return the "self" value (i.e.

the return value) from the callee function (which must be named FUNC_NAME_COMPUTE).

Definition at line 1044 of file Ops.cpp.

◆ getSelfValueFromConstrain()

Value llzk::function::CallOp::getSelfValueFromConstrain ( )

Return the "self" value (i.e.

the first parameter) from the callee function (which must be named FUNC_NAME_CONSTRAIN).

Definition at line 1049 of file Ops.cpp.

◆ getSingleResultTypeOfCompute()

StructType llzk::function::CallOp::getSingleResultTypeOfCompute ( )

Assuming the callee is FUNC_NAME_COMPUTE, return the single StructType result.

Definition at line 1061 of file Ops.cpp.

◆ getSingleResultTypeOfWitnessGen()

StructType llzk::function::CallOp::getSingleResultTypeOfWitnessGen ( )

Assuming the callee contains witness generation code, return the single StructType result.

Definition at line 1066 of file Ops.cpp.

◆ getTemplateParams()

std::optional<::mlir::ArrayAttr > llzk::function::CallOp::getTemplateParams ( )

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

◆ getTemplateParamsAttr()

::mlir::ArrayAttr llzk::function::CallOp::getTemplateParamsAttr ( )
inline

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

◆ getTemplateParamsAttrName() [1/2]

::mlir::StringAttr llzk::function::CallOp::getTemplateParamsAttrName ( )
inline

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

◆ getTemplateParamsAttrName() [2/2]

::mlir::StringAttr llzk::function::CallOp::getTemplateParamsAttrName ( ::mlir::OperationName name)
inlinestatic

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

◆ getTypeSignature()

FunctionType llzk::function::CallOp::getTypeSignature ( )

Return the FunctionType inferred from the arg operands and result types of this CallOp.

This is not necessarily the same as the callee's FunctionType but should unify with it or else IR verification will fail.

Definition at line 1000 of file Ops.cpp.

◆ parse()

mlir::ParseResult llzk::function::CallOp::parse ( ::mlir::OpAsmParser & parser,
::mlir::OperationState & result )
static

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

◆ populateDefaultProperties()

void llzk::function::CallOp::populateDefaultProperties ( ::mlir::OperationName opName,
Properties & properties )
static

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

◆ populateInherentAttrs()

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

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

◆ print()

void llzk::function::CallOp::print ( ::mlir::OpAsmPrinter & _odsPrinter)

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

◆ readProperties()

LogicalResult llzk::function::CallOp::readProperties ( ::mlir::DialectBytecodeReader & reader,
::mlir::OperationState & state )
static

Definition at line 423 of file Ops.cpp.

◆ removeTemplateParamsAttr()

::mlir::Attribute llzk::function::CallOp::removeTemplateParamsAttr ( )
inline

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

◆ resolveCallable()

Operation * llzk::function::CallOp::resolveCallable ( )

Required by CallOpInterface.

Definition at line 1098 of file Ops.cpp.

◆ resolveCallableInTable()

Operation * llzk::function::CallOp::resolveCallableInTable ( ::mlir::SymbolTableCollection * symbolTable)

Required by CallOpInterface.

Definition at line 1088 of file Ops.cpp.

◆ setCalleeAttr()

void llzk::function::CallOp::setCalleeAttr ( ::mlir::SymbolRefAttr attr)
inline

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

◆ setCalleeFromCallable()

void llzk::function::CallOp::setCalleeFromCallable ( ::mlir::CallInterfaceCallable callee)

Set the callee for this operation.

Definition at line 1075 of file Ops.cpp.

◆ setInherentAttr()

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

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

◆ setMapOpGroupSizes()

void llzk::function::CallOp::setMapOpGroupSizes ( ::llvm::ArrayRef< int32_t > attrValue)

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

◆ setMapOpGroupSizesAttr()

void llzk::function::CallOp::setMapOpGroupSizesAttr ( ::mlir::DenseI32ArrayAttr attr)
inline

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

◆ setNumDimsPerMap()

void llzk::function::CallOp::setNumDimsPerMap ( ::llvm::ArrayRef< int32_t > attrValue)

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

◆ setNumDimsPerMapAttr()

void llzk::function::CallOp::setNumDimsPerMapAttr ( ::mlir::DenseI32ArrayAttr attr)
inline

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

◆ setPropertiesFromAttr()

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

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

◆ setPropertiesFromParsedAttr()

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

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

◆ setTemplateParamsAttr()

void llzk::function::CallOp::setTemplateParamsAttr ( ::mlir::ArrayAttr attr)
inline

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

◆ toVectorOfValueRange()

SmallVector< ValueRange > llzk::function::CallOp::toVectorOfValueRange ( ::mlir::OperandRangeRange )

Allocate consecutive storage of the ValueRange instances in the parameter so it can be passed to the builders as an ArrayRef<ValueRange>.

Definition at line 1079 of file Ops.cpp.

◆ unifyTypeSignature()

FailureOr< UnificationMap > llzk::function::CallOp::unifyTypeSignature ( ::mlir::FunctionType other)

Attempt type unfication between the inferred FunctionType from this CallOp (as LHS) and the given FunctionType (as RHS).

If successful, return a UnificationMap containing the unifications that were made. Otherwise, return failure.

Definition at line 1004 of file Ops.cpp.

◆ verifyInherentAttrs()

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

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

◆ verifyInvariants()

llvm::LogicalResult llzk::function::CallOp::verifyInvariants ( )

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

◆ verifyInvariantsImpl()

llvm::LogicalResult llzk::function::CallOp::verifyInvariantsImpl ( )

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

◆ verifySymbolUses()

LogicalResult llzk::function::CallOp::verifySymbolUses ( ::mlir::SymbolTableCollection & symbolTable)

Definition at line 960 of file Ops.cpp.

◆ verifyTemplateParamCompatibility() [1/2]

::mlir::LogicalResult llzk::function::CallOp::verifyTemplateParamCompatibility ( ::llvm::iterator_range<::mlir::Region::op_iterator<::llzk::polymorphic::TemplateParamOp > > targetParamDefs)

Check type compatibility of each template parameter value provided in this CallOp against the declared type on each TemplateParamOp (if any).

Pre-condition assertions:

◆ verifyTemplateParamCompatibility() [2/2]

::mlir::LogicalResult llzk::function::CallOp::verifyTemplateParamCompatibility ( ::mlir::Attribute paramFromCallOp,
::llzk::polymorphic::TemplateParamOp targetParam )

Check type compatibility of the given template parameter value from this CallOp against the declared type on the given TemplateParamOp (if any).

◆ verifyTemplateParamsMatchInferred()

LogicalResult llzk::function::CallOp::verifyTemplateParamsMatchInferred ( ::llvm::iterator_range<::mlir::Region::op_iterator<::llzk::polymorphic::TemplateParamOp > > targetParamDefs,
const UnificationMap & unifications )

Verify that each template parameter value provided in this CallOp is consistent with the value inferred for the target TemplateParamOp in the given UnificationMap.

The UnificationMap is expected to contain the unification results of this CallOp against the target function type signature.

Pre-condition assertions:

Definition at line 568 of file Ops.cpp.

◆ writeProperties()

void llzk::function::CallOp::writeProperties ( ::mlir::DialectBytecodeWriter & writer)

Definition at line 462 of file Ops.cpp.


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