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

Public Types

using Adaptor = IncludeOpAdaptor
template<typename RangeT>
using GenericAdaptor = IncludeOpGenericAdaptor<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 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 contractTargetsStruct ()
 Return true iff the contract targets a struct type.
::mlir::Value getSelfValue ()
 Return the "self" value (i.e.
::mlir::FailureOr<::llzk::SymbolLookupResult<::llzk::verif::ContractOp > > getCalleeTarget (::mlir::SymbolTableCollection &tables)
 Resolve and return the target Contract for this CallOp.
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::SymbolRefAttr callee, ::mlir::ValueRange argOperands={}, ::llvm::ArrayRef<::mlir::Attribute > templateParams={})
static void build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::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::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::verif::ContractOp callee, ::mlir::ValueRange argOperands={}, ::llvm::ArrayRef<::mlir::Attribute > templateParams={})
static void build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::verif::ContractOp 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::verif::ContractOp 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 1337 of file Ops.h.inc.

Member Typedef Documentation

◆ Adaptor

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

◆ FoldAdaptor

using llzk::verif::IncludeOp::FoldAdaptor = GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute>>

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

◆ GenericAdaptor

template<typename RangeT>
using llzk::verif::IncludeOp::GenericAdaptor = IncludeOpGenericAdaptor<RangeT>

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

◆ Properties

Member Function Documentation

◆ build() [1/6]

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

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

◆ build() [2/6]

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

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

◆ build() [3/6]

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

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

◆ build() [4/6]

void llzk::verif::IncludeOp::build ( ::mlir::OpBuilder & odsBuilder,
::mlir::OperationState & odsState,
::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 1431 of file Ops.cpp.inc.

◆ build() [5/6]

void llzk::verif::IncludeOp::build ( ::mlir::OpBuilder & odsBuilder,
::mlir::OperationState & odsState,
::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::verif::IncludeOp::build ( ::mlir::OpBuilder & odsBuilder,
::mlir::OperationState & odsState,
::mlir::SymbolRefAttr callee,
::mlir::ValueRange argOperands = {},
::llvm::ArrayRef<::mlir::Attribute > templateParams = {} )
static

◆ computePropertiesHash()

llvm::hash_code llzk::verif::IncludeOp::computePropertiesHash ( const Properties & prop)
static

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

◆ contractTargetsStruct()

bool llzk::verif::IncludeOp::contractTargetsStruct ( )

Return true iff the contract targets a struct type.

Definition at line 1050 of file Ops.cpp.

◆ getArgOperands()

::mlir::Operation::operand_range llzk::verif::IncludeOp::getArgOperands ( )
inline

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

◆ getArgOperandsMutable()

mlir::MutableOperandRange llzk::verif::IncludeOp::getArgOperandsMutable ( )

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

◆ getAttributeNames()

::llvm::ArrayRef<::llvm::StringRef > llzk::verif::IncludeOp::getAttributeNames ( )
inline

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

◆ getCallableForCallee()

CallInterfaceCallable llzk::verif::IncludeOp::getCallableForCallee ( )

Return the callee of this operation.

Definition at line 1068 of file Ops.cpp.

◆ getCallee()

mlir::SymbolRefAttr llzk::verif::IncludeOp::getCallee ( )

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

◆ getCalleeAttr()

::mlir::SymbolRefAttr llzk::verif::IncludeOp::getCalleeAttr ( )
inline

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

◆ getCalleeAttrName() [1/2]

::mlir::StringAttr llzk::verif::IncludeOp::getCalleeAttrName ( )
inline

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

◆ getCalleeAttrName() [2/2]

::mlir::StringAttr llzk::verif::IncludeOp::getCalleeAttrName ( ::mlir::OperationName name)
inlinestatic

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

◆ getCalleeTarget()

FailureOr< SymbolLookupResult< ContractOp > > llzk::verif::IncludeOp::getCalleeTarget ( ::mlir::SymbolTableCollection & tables)

Resolve and return the target Contract for this CallOp.

Definition at line 1043 of file Ops.cpp.

◆ getInherentAttr()

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

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

◆ getMapOperands()

::mlir::OperandRangeRange llzk::verif::IncludeOp::getMapOperands ( )
inline

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

◆ getMapOperandsMutable()

mlir::MutableOperandRangeRange llzk::verif::IncludeOp::getMapOperandsMutable ( )

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

◆ getMapOpGroupSizes()

llvm::ArrayRef< int32_t > llzk::verif::IncludeOp::getMapOpGroupSizes ( )

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

◆ getMapOpGroupSizesAttr()

::mlir::DenseI32ArrayAttr llzk::verif::IncludeOp::getMapOpGroupSizesAttr ( )
inline

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

◆ getMapOpGroupSizesAttrName() [1/2]

::mlir::StringAttr llzk::verif::IncludeOp::getMapOpGroupSizesAttrName ( )
inline

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

◆ getMapOpGroupSizesAttrName() [2/2]

::mlir::StringAttr llzk::verif::IncludeOp::getMapOpGroupSizesAttrName ( ::mlir::OperationName name)
inlinestatic

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

◆ getNumDimsPerMap()

llvm::ArrayRef< int32_t > llzk::verif::IncludeOp::getNumDimsPerMap ( )

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

◆ getNumDimsPerMapAttr()

::mlir::DenseI32ArrayAttr llzk::verif::IncludeOp::getNumDimsPerMapAttr ( )
inline

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

◆ getNumDimsPerMapAttrName() [1/2]

::mlir::StringAttr llzk::verif::IncludeOp::getNumDimsPerMapAttrName ( )
inline

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

◆ getNumDimsPerMapAttrName() [2/2]

::mlir::StringAttr llzk::verif::IncludeOp::getNumDimsPerMapAttrName ( ::mlir::OperationName name)
inlinestatic

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

◆ getODSOperandIndexAndLength()

std::pair< unsigned, unsigned > llzk::verif::IncludeOp::getODSOperandIndexAndLength ( unsigned index)

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

◆ getODSOperands()

::mlir::Operation::operand_range llzk::verif::IncludeOp::getODSOperands ( unsigned index)
inline

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

◆ getODSResultIndexAndLength()

std::pair< unsigned, unsigned > llzk::verif::IncludeOp::getODSResultIndexAndLength ( unsigned index)
inline

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

◆ getODSResults()

::mlir::Operation::result_range llzk::verif::IncludeOp::getODSResults ( unsigned index)
inline

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

◆ getOperandSegmentSizesAttrName() [1/2]

::mlir::StringAttr llzk::verif::IncludeOp::getOperandSegmentSizesAttrName ( )
inline

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

◆ getOperandSegmentSizesAttrName() [2/2]

::mlir::StringAttr llzk::verif::IncludeOp::getOperandSegmentSizesAttrName ( ::mlir::OperationName name)
inlinestatic

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

◆ getOperationName()

constexpr ::llvm::StringLiteral llzk::verif::IncludeOp::getOperationName ( )
inlinestatic

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

◆ getPropertiesAsAttr()

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

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

◆ getSelfValue()

Value llzk::verif::IncludeOp::getSelfValue ( )

Return the "self" value (i.e.

the first parameter) from the callee contract, assuming the target of the contract is a struct target.

Definition at line 1056 of file Ops.cpp.

◆ getTemplateParams()

std::optional<::mlir::ArrayAttr > llzk::verif::IncludeOp::getTemplateParams ( )

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

◆ getTemplateParamsAttr()

::mlir::ArrayAttr llzk::verif::IncludeOp::getTemplateParamsAttr ( )
inline

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

◆ getTemplateParamsAttrName() [1/2]

::mlir::StringAttr llzk::verif::IncludeOp::getTemplateParamsAttrName ( )
inline

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

◆ getTemplateParamsAttrName() [2/2]

::mlir::StringAttr llzk::verif::IncludeOp::getTemplateParamsAttrName ( ::mlir::OperationName name)
inlinestatic

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

◆ getTypeSignature()

FunctionType llzk::verif::IncludeOp::getTypeSignature ( )

Return the FunctionType inferred from the arg operands 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 1030 of file Ops.cpp.

◆ parse()

mlir::ParseResult llzk::verif::IncludeOp::parse ( ::mlir::OpAsmParser & parser,
::mlir::OperationState & result )
static

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

◆ populateDefaultProperties()

void llzk::verif::IncludeOp::populateDefaultProperties ( ::mlir::OperationName opName,
Properties & properties )
static

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

◆ populateInherentAttrs()

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

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

◆ print()

void llzk::verif::IncludeOp::print ( ::mlir::OpAsmPrinter & _odsPrinter)

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

◆ readProperties()

llvm::LogicalResult llzk::verif::IncludeOp::readProperties ( ::mlir::DialectBytecodeReader & reader,
::mlir::OperationState & state )
static

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

◆ removeTemplateParamsAttr()

::mlir::Attribute llzk::verif::IncludeOp::removeTemplateParamsAttr ( )
inline

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

◆ resolveCallable()

Operation * llzk::verif::IncludeOp::resolveCallable ( )

Required by CallOpInterface.

Definition at line 1099 of file Ops.cpp.

◆ resolveCallableInTable()

Operation * llzk::verif::IncludeOp::resolveCallableInTable ( ::mlir::SymbolTableCollection * symbolTable)

Required by CallOpInterface.

Definition at line 1082 of file Ops.cpp.

◆ setCalleeAttr()

void llzk::verif::IncludeOp::setCalleeAttr ( ::mlir::SymbolRefAttr attr)
inline

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

◆ setCalleeFromCallable()

void llzk::verif::IncludeOp::setCalleeFromCallable ( ::mlir::CallInterfaceCallable callee)

Set the callee for this operation.

Definition at line 1071 of file Ops.cpp.

◆ setInherentAttr()

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

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

◆ setMapOpGroupSizes()

void llzk::verif::IncludeOp::setMapOpGroupSizes ( ::llvm::ArrayRef< int32_t > attrValue)

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

◆ setMapOpGroupSizesAttr()

void llzk::verif::IncludeOp::setMapOpGroupSizesAttr ( ::mlir::DenseI32ArrayAttr attr)
inline

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

◆ setNumDimsPerMap()

void llzk::verif::IncludeOp::setNumDimsPerMap ( ::llvm::ArrayRef< int32_t > attrValue)

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

◆ setNumDimsPerMapAttr()

void llzk::verif::IncludeOp::setNumDimsPerMapAttr ( ::mlir::DenseI32ArrayAttr attr)
inline

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

◆ setPropertiesFromAttr()

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

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

◆ setPropertiesFromParsedAttr()

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

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

◆ setTemplateParamsAttr()

void llzk::verif::IncludeOp::setTemplateParamsAttr ( ::mlir::ArrayAttr attr)
inline

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

◆ toVectorOfValueRange()

SmallVector< ValueRange > llzk::verif::IncludeOp::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 1075 of file Ops.cpp.

◆ unifyTypeSignature()

FailureOr< UnificationMap > llzk::verif::IncludeOp::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 1034 of file Ops.cpp.

◆ verifyInherentAttrs()

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

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

◆ verifyInvariants()

llvm::LogicalResult llzk::verif::IncludeOp::verifyInvariants ( )

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

◆ verifyInvariantsImpl()

llvm::LogicalResult llzk::verif::IncludeOp::verifyInvariantsImpl ( )

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

◆ verifySymbolUses()

LogicalResult llzk::verif::IncludeOp::verifySymbolUses ( ::mlir::SymbolTableCollection & symbolTable)

Definition at line 991 of file Ops.cpp.

◆ verifyTemplateParamCompatibility() [1/2]

::mlir::LogicalResult llzk::verif::IncludeOp::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::verif::IncludeOp::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::verif::IncludeOp::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 823 of file Ops.cpp.

◆ writeProperties()

void llzk::verif::IncludeOp::writeProperties ( ::mlir::DialectBytecodeWriter & writer)

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


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