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

Public Types

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

Public Member Functions

static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames ()
::mlir::StringAttr getArgAttrsAttrName ()
::mlir::StringAttr getFunctionTypeAttrName ()
::mlir::StringAttr getResAttrsAttrName ()
::mlir::StringAttr getSymNameAttrName ()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength (unsigned index)
::mlir::Operation::operand_range getODSOperands (unsigned index)
std::pair< unsigned, unsigned > getODSResultIndexAndLength (unsigned index)
::mlir::Operation::result_range getODSResults (unsigned index)
::mlir::Region & getBody ()
void writeProperties (::mlir::DialectBytecodeWriter &writer)
::mlir::StringAttr getSymNameAttr ()
::llvm::StringRef getSymName ()
::mlir::TypeAttr getFunctionTypeAttr ()
::mlir::FunctionType getFunctionType ()
::mlir::ArrayAttr getArgAttrsAttr ()
::std::optional< ::mlir::ArrayAttr > getArgAttrs ()
::mlir::ArrayAttr getResAttrsAttr ()
::std::optional< ::mlir::ArrayAttr > getResAttrs ()
void setSymNameAttr (::mlir::StringAttr attr)
void setSymName (::llvm::StringRef attrValue)
void setFunctionTypeAttr (::mlir::TypeAttr attr)
void setFunctionType (::mlir::FunctionType attrValue)
void setArgAttrsAttr (::mlir::ArrayAttr attr)
void setResAttrsAttr (::mlir::ArrayAttr attr)
::mlir::Attribute removeArgAttrsAttr ()
::mlir::Attribute removeResAttrsAttr ()
void print (::mlir::OpAsmPrinter &p)
::llvm::LogicalResult verifyInvariantsImpl ()
::llvm::LogicalResult verifyInvariants ()
::llvm::LogicalResult verify ()
::llvm::LogicalResult verifySymbolUses (::mlir::SymbolTableCollection &symbolTable)
FuncDefOp clone (::mlir::IRMapping &mapper)
 Create a deep copy of this function and all of its blocks, remapping any operands that use values outside of the function using the map that is provided (leaving them alone if no entry is present).
FuncDefOp clone ()
void cloneInto (FuncDefOp dest, ::mlir::IRMapping &mapper)
 Clone the internal blocks and attributes from this function into dest.
bool hasAllowConstraintAttr ()
 Return true iff the function def has the allow_constraint attribute.
void setAllowConstraintAttr (bool newValue=true)
 Add (resp. remove) the allow_constraint attribute to (resp. from) the function def.
bool hasAllowWitnessAttr ()
 Return true iff the function def has the allow_witness attribute.
void setAllowWitnessAttr (bool newValue=true)
 Add (resp. remove) the allow_witness attribute to (resp. from) the function def.
bool hasAllowNonNativeFieldOpsAttr ()
 Return true iff the function def has the allow_non_native_field_ops attribute.
void setAllowNonNativeFieldOpsAttr (bool newValue=true)
 Add (resp. remove) the allow_non_native_field_ops attribute to (resp. from) the function def.
bool hasAllowVerifOpsAttr ()
 Return true iff the function def has the allow_verif_ops attribute.
void setAllowVerifOpsAttr (bool newValue=true)
 Add (resp. remove) the allow_verif_ops attribute to (resp. from) the function def.
bool hasArgPublicAttr (unsigned index)
 Return true iff the argument at the given index has pub attribute.
bool hasArgName (unsigned index)
 Return true iff the argument at the given index has a function.arg_name attribute.
::std::optional<::mlir::StringAttr > getArgNameAttr (unsigned index)
 Return the function.arg_name attribute for the argument at the given index.
void setArgNameAttr (unsigned index, const ::mlir::StringAttr &attr)
 Set the function.arg_name attribute for the argument at the given index.
void setArgName (unsigned index, ::llvm::StringRef name)
 Set the function.arg_name attribute for the argument at the given index from a string.
bool hasResName (unsigned index)
 Return true iff the result at the given index has a function.res_name attribute.
::std::optional<::mlir::StringAttr > getResNameAttr (unsigned index)
 Return the function.res_name attribute for the result at the given index.
void setResNameAttr (unsigned index, const ::mlir::StringAttr &attr)
 Set the function.res_name attribute for the result at the given index.
void setResName (unsigned index, ::llvm::StringRef name)
 Set the function.res_name attribute for the result at the given index from a string.
::mlir::Region * getCallableRegion ()
 Required by FunctionOpInterface.
::llvm::ArrayRef<::mlir::Type > getArgumentTypes ()
 Required by FunctionOpInterface.
::llvm::ArrayRef<::mlir::Type > getResultTypes ()
 Required by FunctionOpInterface.
bool isDeclaration ()
 Required by SymbolOpInterface.
::mlir::SymbolRefAttr getFullyQualifiedName (bool requireParent=true)
 Return the full name for this function from the root module, including all surrounding symbol table names (i.e., modules and structs).
bool nameIsCompute ()
 Return true iff the function name is FUNC_NAME_COMPUTE (if needed, a check that this FuncDefOp is located within a StructDefOp must be done separately).
bool nameIsConstrain ()
 Return true iff the function name is FUNC_NAME_CONSTRAIN (if needed, a check that this FuncDefOp is located within a StructDefOp must be done separately).
bool nameIsProduct ()
 Return true iff the function name is FUNC_NAME_PRODUCT (if needed, a check that this FuncDefOp is located within a StructDefOp must be done separately).
bool isInStruct ()
 Return true iff the function is within a StructDefOp.
bool isStructCompute ()
 Return true iff the function is within a StructDefOp and named FUNC_NAME_COMPUTE.
bool isStructConstrain ()
 Return true iff the function is within a StructDefOp and named FUNC_NAME_CONSTRAIN.
bool isStructProduct ()
 Return true iff the function is within a StructDefOp and named FUNC_NAME_PRODUCT.
::mlir::Value getSelfValueFromCompute ()
 Return the "self" value (i.e.
::mlir::Value getSelfValueFromProduct ()
 Return the "self" value (i.e.
::mlir::Value getSelfValueFromConstrain ()
 Return the "self" value (i.e.
::llzk::component::StructType getSingleResultTypeOfCompute ()
 Assuming the name is FUNC_NAME_COMPUTE, return the single StructType result.

Static Public Member Functions

::mlir::StringAttr getArgAttrsAttrName (::mlir::OperationName name)
::mlir::StringAttr getFunctionTypeAttrName (::mlir::OperationName name)
::mlir::StringAttr getResAttrsAttrName (::mlir::OperationName name)
::mlir::StringAttr getSymNameAttrName (::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, ::llvm::StringRef name, ::mlir::FunctionType type, ::llvm::ArrayRef<::mlir::NamedAttribute > attrs={}, ::llvm::ArrayRef<::mlir::DictionaryAttr > argAttrs={})
static FuncDefOp create (::mlir::OpBuilder &builder, ::mlir::Location location, ::llvm::StringRef name, ::mlir::FunctionType type, ::llvm::ArrayRef<::mlir::NamedAttribute > attrs={}, ::llvm::ArrayRef<::mlir::DictionaryAttr > argAttrs={})
static FuncDefOp create (::mlir::ImplicitLocOpBuilder &builder, ::llvm::StringRef name, ::mlir::FunctionType type, ::llvm::ArrayRef<::mlir::NamedAttribute > attrs={}, ::llvm::ArrayRef<::mlir::DictionaryAttr > argAttrs={})
static void build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::StringAttr sym_name, ::mlir::TypeAttr function_type, ::mlir::ArrayAttr arg_attrs, ::mlir::ArrayAttr res_attrs)
static FuncDefOp create (::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::StringAttr sym_name, ::mlir::TypeAttr function_type, ::mlir::ArrayAttr arg_attrs, ::mlir::ArrayAttr res_attrs)
static FuncDefOp create (::mlir::ImplicitLocOpBuilder &builder, ::mlir::StringAttr sym_name, ::mlir::TypeAttr function_type, ::mlir::ArrayAttr arg_attrs, ::mlir::ArrayAttr res_attrs)
static void build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::StringAttr sym_name, ::mlir::TypeAttr function_type, ::mlir::ArrayAttr arg_attrs, ::mlir::ArrayAttr res_attrs)
static FuncDefOp create (::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::StringAttr sym_name, ::mlir::TypeAttr function_type, ::mlir::ArrayAttr arg_attrs, ::mlir::ArrayAttr res_attrs)
static FuncDefOp create (::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::StringAttr sym_name, ::mlir::TypeAttr function_type, ::mlir::ArrayAttr arg_attrs, ::mlir::ArrayAttr res_attrs)
static void build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llvm::StringRef sym_name, ::mlir::FunctionType function_type, ::mlir::ArrayAttr arg_attrs, ::mlir::ArrayAttr res_attrs)
static FuncDefOp create (::mlir::OpBuilder &builder, ::mlir::Location location, ::llvm::StringRef sym_name, ::mlir::FunctionType function_type, ::mlir::ArrayAttr arg_attrs, ::mlir::ArrayAttr res_attrs)
static FuncDefOp create (::mlir::ImplicitLocOpBuilder &builder, ::llvm::StringRef sym_name, ::mlir::FunctionType function_type, ::mlir::ArrayAttr arg_attrs, ::mlir::ArrayAttr res_attrs)
static void build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::llvm::StringRef sym_name, ::mlir::FunctionType function_type, ::mlir::ArrayAttr arg_attrs, ::mlir::ArrayAttr res_attrs)
static FuncDefOp create (::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::llvm::StringRef sym_name, ::mlir::FunctionType function_type, ::mlir::ArrayAttr arg_attrs, ::mlir::ArrayAttr res_attrs)
static FuncDefOp create (::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::llvm::StringRef sym_name, ::mlir::FunctionType function_type, ::mlir::ArrayAttr arg_attrs, ::mlir::ArrayAttr res_attrs)
static void build (::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute > attributes={})
static FuncDefOp create (::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute > attributes={})
static FuncDefOp create (::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute > attributes={})
static void build (::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute > discardableAttributes={})
static FuncDefOp create (::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute > discardableAttributes={})
static FuncDefOp create (::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute > discardableAttributes={})
::mlir::ParseResult parse (::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult setPropertiesFromParsedAttr (Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
static FuncDefOp create (::mlir::Location location, ::llvm::StringRef name, ::mlir::FunctionType type, ::llvm::ArrayRef<::mlir::NamedAttribute > attrs={})
static FuncDefOp create (::mlir::Location location, ::llvm::StringRef name, ::mlir::FunctionType type, ::mlir::Operation::dialect_attr_range attrs)
static FuncDefOp create (::mlir::Location location, ::llvm::StringRef name, ::mlir::FunctionType type, ::llvm::ArrayRef<::mlir::NamedAttribute > attrs, ::llvm::ArrayRef<::mlir::DictionaryAttr > argAttrs)

Detailed Description

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

Member Typedef Documentation

◆ Adaptor

◆ FoldAdaptor

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

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

◆ GenericAdaptor

template<typename RangeT>
using llzk::function::FuncDefOp::GenericAdaptor = FuncDefOpGenericAdaptor<RangeT>

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

◆ Properties

Member Function Documentation

◆ build() [1/7]

void llzk::function::FuncDefOp::build ( ::mlir::OpBuilder & ,
::mlir::OperationState & odsState,
::mlir::TypeRange resultTypes,
::mlir::ValueRange operands,
::llvm::ArrayRef<::mlir::NamedAttribute > attributes = {} )
static

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

◆ build() [2/7]

void llzk::function::FuncDefOp::build ( ::mlir::OpBuilder & ,
::mlir::OperationState & odsState,
::mlir::TypeRange resultTypes,
::mlir::ValueRange operands,
const Properties & properties,
::llvm::ArrayRef<::mlir::NamedAttribute > discardableAttributes = {} )
static

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

◆ build() [3/7]

void llzk::function::FuncDefOp::build ( ::mlir::OpBuilder & odsBuilder,
::mlir::OperationState & odsState,
::llvm::StringRef name,
::mlir::FunctionType type,
::llvm::ArrayRef<::mlir::NamedAttribute > attrs = {},
::llvm::ArrayRef<::mlir::DictionaryAttr > argAttrs = {} )
static

◆ build() [4/7]

void llzk::function::FuncDefOp::build ( ::mlir::OpBuilder & odsBuilder,
::mlir::OperationState & odsState,
::llvm::StringRef sym_name,
::mlir::FunctionType function_type,
::mlir::ArrayAttr arg_attrs,
::mlir::ArrayAttr res_attrs )
static

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

◆ build() [5/7]

void llzk::function::FuncDefOp::build ( ::mlir::OpBuilder & odsBuilder,
::mlir::OperationState & odsState,
::mlir::StringAttr sym_name,
::mlir::TypeAttr function_type,
::mlir::ArrayAttr arg_attrs,
::mlir::ArrayAttr res_attrs )
static

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

◆ build() [6/7]

void llzk::function::FuncDefOp::build ( ::mlir::OpBuilder & odsBuilder,
::mlir::OperationState & odsState,
::mlir::TypeRange resultTypes,
::llvm::StringRef sym_name,
::mlir::FunctionType function_type,
::mlir::ArrayAttr arg_attrs,
::mlir::ArrayAttr res_attrs )
static

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

◆ build() [7/7]

void llzk::function::FuncDefOp::build ( ::mlir::OpBuilder & odsBuilder,
::mlir::OperationState & odsState,
::mlir::TypeRange resultTypes,
::mlir::StringAttr sym_name,
::mlir::TypeAttr function_type,
::mlir::ArrayAttr arg_attrs,
::mlir::ArrayAttr res_attrs )
static

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

◆ clone() [1/2]

FuncDefOp llzk::function::FuncDefOp::clone ( )

Definition at line 269 of file Ops.cpp.

◆ clone() [2/2]

FuncDefOp llzk::function::FuncDefOp::clone ( ::mlir::IRMapping & mapper)

Create a deep copy of this function and all of its blocks, remapping any operands that use values outside of the function using the map that is provided (leaving them alone if no entry is present).

If the mapper contains entries for function arguments, these arguments are not included in the new function. Replaces references to cloned sub-values with the corresponding value that is copied, and adds those mappings to the mapper.

◆ cloneInto()

void llzk::function::FuncDefOp::cloneInto ( FuncDefOp dest,
::mlir::IRMapping & mapper )

Clone the internal blocks and attributes from this function into dest.

Clone the internal blocks from this function into dest and all attributes from this function to dest.

Any cloned blocks are appended to the back of dest. This function asserts that the attributes of the current function and dest are compatible.

Definition at line 202 of file Ops.cpp.

◆ computePropertiesHash()

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

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

◆ create() [1/17]

FuncDefOp llzk::function::FuncDefOp::create ( ::mlir::ImplicitLocOpBuilder & builder,
::llvm::StringRef name,
::mlir::FunctionType type,
::llvm::ArrayRef<::mlir::NamedAttribute > attrs = {},
::llvm::ArrayRef<::mlir::DictionaryAttr > argAttrs = {} )
static

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

◆ create() [2/17]

FuncDefOp llzk::function::FuncDefOp::create ( ::mlir::ImplicitLocOpBuilder & builder,
::llvm::StringRef sym_name,
::mlir::FunctionType function_type,
::mlir::ArrayAttr arg_attrs,
::mlir::ArrayAttr res_attrs )
static

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

◆ create() [3/17]

FuncDefOp llzk::function::FuncDefOp::create ( ::mlir::ImplicitLocOpBuilder & builder,
::mlir::StringAttr sym_name,
::mlir::TypeAttr function_type,
::mlir::ArrayAttr arg_attrs,
::mlir::ArrayAttr res_attrs )
static

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

◆ create() [4/17]

FuncDefOp llzk::function::FuncDefOp::create ( ::mlir::ImplicitLocOpBuilder & builder,
::mlir::TypeRange resultTypes,
::llvm::StringRef sym_name,
::mlir::FunctionType function_type,
::mlir::ArrayAttr arg_attrs,
::mlir::ArrayAttr res_attrs )
static

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

◆ create() [5/17]

FuncDefOp llzk::function::FuncDefOp::create ( ::mlir::ImplicitLocOpBuilder & builder,
::mlir::TypeRange resultTypes,
::mlir::StringAttr sym_name,
::mlir::TypeAttr function_type,
::mlir::ArrayAttr arg_attrs,
::mlir::ArrayAttr res_attrs )
static

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

◆ create() [6/17]

FuncDefOp llzk::function::FuncDefOp::create ( ::mlir::ImplicitLocOpBuilder & builder,
::mlir::TypeRange resultTypes,
::mlir::ValueRange operands,
::llvm::ArrayRef<::mlir::NamedAttribute > attributes = {} )
static

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

◆ create() [7/17]

FuncDefOp llzk::function::FuncDefOp::create ( ::mlir::ImplicitLocOpBuilder & builder,
::mlir::TypeRange resultTypes,
::mlir::ValueRange operands,
const Properties & properties,
::llvm::ArrayRef<::mlir::NamedAttribute > discardableAttributes = {} )
static

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

◆ create() [8/17]

FuncDefOp llzk::function::FuncDefOp::create ( ::mlir::Location location,
::llvm::StringRef name,
::mlir::FunctionType type,
::llvm::ArrayRef<::mlir::NamedAttribute > attrs,
::llvm::ArrayRef<::mlir::DictionaryAttr > argAttrs )
static

◆ create() [9/17]

FuncDefOp llzk::function::FuncDefOp::create ( ::mlir::Location location,
::llvm::StringRef name,
::mlir::FunctionType type,
::llvm::ArrayRef<::mlir::NamedAttribute > attrs = {} )
static

◆ create() [10/17]

FuncDefOp llzk::function::FuncDefOp::create ( ::mlir::Location location,
::llvm::StringRef name,
::mlir::FunctionType type,
::mlir::Operation::dialect_attr_range attrs )
static

◆ create() [11/17]

FuncDefOp llzk::function::FuncDefOp::create ( ::mlir::OpBuilder & builder,
::mlir::Location location,
::llvm::StringRef name,
::mlir::FunctionType type,
::llvm::ArrayRef<::mlir::NamedAttribute > attrs = {},
::llvm::ArrayRef<::mlir::DictionaryAttr > argAttrs = {} )
static

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

◆ create() [12/17]

FuncDefOp llzk::function::FuncDefOp::create ( ::mlir::OpBuilder & builder,
::mlir::Location location,
::llvm::StringRef sym_name,
::mlir::FunctionType function_type,
::mlir::ArrayAttr arg_attrs,
::mlir::ArrayAttr res_attrs )
static

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

◆ create() [13/17]

FuncDefOp llzk::function::FuncDefOp::create ( ::mlir::OpBuilder & builder,
::mlir::Location location,
::mlir::StringAttr sym_name,
::mlir::TypeAttr function_type,
::mlir::ArrayAttr arg_attrs,
::mlir::ArrayAttr res_attrs )
static

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

◆ create() [14/17]

FuncDefOp llzk::function::FuncDefOp::create ( ::mlir::OpBuilder & builder,
::mlir::Location location,
::mlir::TypeRange resultTypes,
::llvm::StringRef sym_name,
::mlir::FunctionType function_type,
::mlir::ArrayAttr arg_attrs,
::mlir::ArrayAttr res_attrs )
static

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

◆ create() [15/17]

FuncDefOp llzk::function::FuncDefOp::create ( ::mlir::OpBuilder & builder,
::mlir::Location location,
::mlir::TypeRange resultTypes,
::mlir::StringAttr sym_name,
::mlir::TypeAttr function_type,
::mlir::ArrayAttr arg_attrs,
::mlir::ArrayAttr res_attrs )
static

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

◆ create() [16/17]

FuncDefOp llzk::function::FuncDefOp::create ( ::mlir::OpBuilder & builder,
::mlir::Location location,
::mlir::TypeRange resultTypes,
::mlir::ValueRange operands,
::llvm::ArrayRef<::mlir::NamedAttribute > attributes = {} )
static

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

◆ create() [17/17]

FuncDefOp llzk::function::FuncDefOp::create ( ::mlir::OpBuilder & builder,
::mlir::Location location,
::mlir::TypeRange resultTypes,
::mlir::ValueRange operands,
const Properties & properties,
::llvm::ArrayRef<::mlir::NamedAttribute > discardableAttributes = {} )
static

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

◆ getArgAttrs()

std::optional<::mlir::ArrayAttr > llzk::function::FuncDefOp::getArgAttrs ( )

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

◆ getArgAttrsAttr()

::mlir::ArrayAttr llzk::function::FuncDefOp::getArgAttrsAttr ( )
inline

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

◆ getArgAttrsAttrName() [1/2]

::mlir::StringAttr llzk::function::FuncDefOp::getArgAttrsAttrName ( )
inline

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

◆ getArgAttrsAttrName() [2/2]

::mlir::StringAttr llzk::function::FuncDefOp::getArgAttrsAttrName ( ::mlir::OperationName name)
inlinestatic

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

◆ getArgNameAttr()

std::optional< StringAttr > llzk::function::FuncDefOp::getArgNameAttr ( unsigned index)

Return the function.arg_name attribute for the argument at the given index.

Definition at line 318 of file Ops.cpp.

◆ getArgumentTypes()

::llvm::ArrayRef<::mlir::Type > llzk::function::FuncDefOp::getArgumentTypes ( )
inline

Required by FunctionOpInterface.

Returns the argument types of this function.

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

◆ getAttributeNames()

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

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

◆ getBody()

::mlir::Region & llzk::function::FuncDefOp::getBody ( )
inline

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

◆ getCallableRegion()

::mlir::Region * llzk::function::FuncDefOp::getCallableRegion ( )
inline

Required by FunctionOpInterface.

Returns the region on the current operation that is callable. This may return null in the case of an external callable object, e.g. an external function.

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

◆ getFullyQualifiedName()

SymbolRefAttr llzk::function::FuncDefOp::getFullyQualifiedName ( bool requireParent = true)

Return the full name for this function from the root module, including all surrounding symbol table names (i.e., modules and structs).

Definition at line 477 of file Ops.cpp.

◆ getFunctionType()

mlir::FunctionType llzk::function::FuncDefOp::getFunctionType ( )

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

◆ getFunctionTypeAttr()

::mlir::TypeAttr llzk::function::FuncDefOp::getFunctionTypeAttr ( )
inline

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

◆ getFunctionTypeAttrName() [1/2]

::mlir::StringAttr llzk::function::FuncDefOp::getFunctionTypeAttrName ( )
inline

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

◆ getFunctionTypeAttrName() [2/2]

::mlir::StringAttr llzk::function::FuncDefOp::getFunctionTypeAttrName ( ::mlir::OperationName name)
inlinestatic

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

◆ getInherentAttr()

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

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

◆ getODSOperandIndexAndLength()

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

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

◆ getODSOperands()

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

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

◆ getODSResultIndexAndLength()

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

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

◆ getODSResults()

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

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

◆ getOperationName()

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

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

◆ getPropertiesAsAttr()

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

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

◆ getResAttrs()

std::optional<::mlir::ArrayAttr > llzk::function::FuncDefOp::getResAttrs ( )

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

◆ getResAttrsAttr()

::mlir::ArrayAttr llzk::function::FuncDefOp::getResAttrsAttr ( )
inline

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

◆ getResAttrsAttrName() [1/2]

::mlir::StringAttr llzk::function::FuncDefOp::getResAttrsAttrName ( )
inline

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

◆ getResAttrsAttrName() [2/2]

::mlir::StringAttr llzk::function::FuncDefOp::getResAttrsAttrName ( ::mlir::OperationName name)
inlinestatic

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

◆ getResNameAttr()

std::optional< StringAttr > llzk::function::FuncDefOp::getResNameAttr ( unsigned index)

Return the function.res_name attribute for the result at the given index.

Definition at line 333 of file Ops.cpp.

◆ getResultTypes()

::llvm::ArrayRef<::mlir::Type > llzk::function::FuncDefOp::getResultTypes ( )
inline

Required by FunctionOpInterface.

Returns the result types of this function.

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

◆ getSelfValueFromCompute()

Value llzk::function::FuncDefOp::getSelfValueFromCompute ( )

Return the "self" value (i.e.

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

Definition at line 502 of file Ops.cpp.

◆ getSelfValueFromConstrain()

Value llzk::function::FuncDefOp::getSelfValueFromConstrain ( )

Return the "self" value (i.e.

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

Definition at line 512 of file Ops.cpp.

◆ getSelfValueFromProduct()

Value llzk::function::FuncDefOp::getSelfValueFromProduct ( )

Return the "self" value (i.e.

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

Definition at line 507 of file Ops.cpp.

◆ getSingleResultTypeOfCompute()

StructType llzk::function::FuncDefOp::getSingleResultTypeOfCompute ( )

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

Definition at line 517 of file Ops.cpp.

◆ getSymName()

llvm::StringRef llzk::function::FuncDefOp::getSymName ( )

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

◆ getSymNameAttr()

::mlir::StringAttr llzk::function::FuncDefOp::getSymNameAttr ( )
inline

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

◆ getSymNameAttrName() [1/2]

::mlir::StringAttr llzk::function::FuncDefOp::getSymNameAttrName ( )
inline

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

◆ getSymNameAttrName() [2/2]

::mlir::StringAttr llzk::function::FuncDefOp::getSymNameAttrName ( ::mlir::OperationName name)
inlinestatic

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

◆ hasAllowConstraintAttr()

bool llzk::function::FuncDefOp::hasAllowConstraintAttr ( )
inline

Return true iff the function def has the allow_constraint attribute.

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

◆ hasAllowNonNativeFieldOpsAttr()

bool llzk::function::FuncDefOp::hasAllowNonNativeFieldOpsAttr ( )
inline

Return true iff the function def has the allow_non_native_field_ops attribute.

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

◆ hasAllowVerifOpsAttr()

bool llzk::function::FuncDefOp::hasAllowVerifOpsAttr ( )
inline

Return true iff the function def has the allow_verif_ops attribute.

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

◆ hasAllowWitnessAttr()

bool llzk::function::FuncDefOp::hasAllowWitnessAttr ( )
inline

Return true iff the function def has the allow_witness attribute.

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

◆ hasArgName()

bool llzk::function::FuncDefOp::hasArgName ( unsigned index)

Return true iff the argument at the given index has a function.arg_name attribute.

Definition at line 316 of file Ops.cpp.

◆ hasArgPublicAttr()

bool llzk::function::FuncDefOp::hasArgPublicAttr ( unsigned index)

Return true iff the argument at the given index has pub attribute.

Definition at line 306 of file Ops.cpp.

◆ hasResName()

bool llzk::function::FuncDefOp::hasResName ( unsigned index)

Return true iff the result at the given index has a function.res_name attribute.

Definition at line 331 of file Ops.cpp.

◆ isDeclaration()

bool llzk::function::FuncDefOp::isDeclaration ( )
inline

Required by SymbolOpInterface.

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

◆ isInStruct()

bool llzk::function::FuncDefOp::isInStruct ( )
inline

Return true iff the function is within a StructDefOp.

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

◆ isStructCompute()

bool llzk::function::FuncDefOp::isStructCompute ( )
inline

Return true iff the function is within a StructDefOp and named FUNC_NAME_COMPUTE.

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

◆ isStructConstrain()

bool llzk::function::FuncDefOp::isStructConstrain ( )
inline

Return true iff the function is within a StructDefOp and named FUNC_NAME_CONSTRAIN.

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

◆ isStructProduct()

bool llzk::function::FuncDefOp::isStructProduct ( )
inline

Return true iff the function is within a StructDefOp and named FUNC_NAME_PRODUCT.

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

◆ nameIsCompute()

bool llzk::function::FuncDefOp::nameIsCompute ( )
inline

Return true iff the function name is FUNC_NAME_COMPUTE (if needed, a check that this FuncDefOp is located within a StructDefOp must be done separately).

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

◆ nameIsConstrain()

bool llzk::function::FuncDefOp::nameIsConstrain ( )
inline

Return true iff the function name is FUNC_NAME_CONSTRAIN (if needed, a check that this FuncDefOp is located within a StructDefOp must be done separately).

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

◆ nameIsProduct()

bool llzk::function::FuncDefOp::nameIsProduct ( )
inline

Return true iff the function name is FUNC_NAME_PRODUCT (if needed, a check that this FuncDefOp is located within a StructDefOp must be done separately).

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

◆ parse()

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

Definition at line 182 of file Ops.cpp.

◆ populateInherentAttrs()

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

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

◆ print()

void llzk::function::FuncDefOp::print ( ::mlir::OpAsmPrinter & p)

Definition at line 193 of file Ops.cpp.

◆ readProperties()

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

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

◆ removeArgAttrsAttr()

::mlir::Attribute llzk::function::FuncDefOp::removeArgAttrsAttr ( )
inline

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

◆ removeResAttrsAttr()

::mlir::Attribute llzk::function::FuncDefOp::removeResAttrsAttr ( )
inline

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

◆ setAllowConstraintAttr()

void llzk::function::FuncDefOp::setAllowConstraintAttr ( bool newValue = true)

Add (resp. remove) the allow_constraint attribute to (resp. from) the function def.

Definition at line 274 of file Ops.cpp.

◆ setAllowNonNativeFieldOpsAttr()

void llzk::function::FuncDefOp::setAllowNonNativeFieldOpsAttr ( bool newValue = true)

Add (resp. remove) the allow_non_native_field_ops attribute to (resp. from) the function def.

Definition at line 290 of file Ops.cpp.

◆ setAllowVerifOpsAttr()

void llzk::function::FuncDefOp::setAllowVerifOpsAttr ( bool newValue = true)

Add (resp. remove) the allow_verif_ops attribute to (resp. from) the function def.

Definition at line 298 of file Ops.cpp.

◆ setAllowWitnessAttr()

void llzk::function::FuncDefOp::setAllowWitnessAttr ( bool newValue = true)

Add (resp. remove) the allow_witness attribute to (resp. from) the function def.

Definition at line 282 of file Ops.cpp.

◆ setArgAttrsAttr()

void llzk::function::FuncDefOp::setArgAttrsAttr ( ::mlir::ArrayAttr attr)
inline

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

◆ setArgName()

void llzk::function::FuncDefOp::setArgName ( unsigned index,
::llvm::StringRef name )

Set the function.arg_name attribute for the argument at the given index from a string.

Definition at line 327 of file Ops.cpp.

◆ setArgNameAttr()

void llzk::function::FuncDefOp::setArgNameAttr ( unsigned index,
const ::mlir::StringAttr & attr )

Set the function.arg_name attribute for the argument at the given index.

Definition at line 322 of file Ops.cpp.

◆ setFunctionType()

void llzk::function::FuncDefOp::setFunctionType ( ::mlir::FunctionType attrValue)

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

◆ setFunctionTypeAttr()

void llzk::function::FuncDefOp::setFunctionTypeAttr ( ::mlir::TypeAttr attr)
inline

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

◆ setInherentAttr()

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

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

◆ setPropertiesFromAttr()

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

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

◆ setPropertiesFromParsedAttr()

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

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

◆ setResAttrsAttr()

void llzk::function::FuncDefOp::setResAttrsAttr ( ::mlir::ArrayAttr attr)
inline

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

◆ setResName()

void llzk::function::FuncDefOp::setResName ( unsigned index,
::llvm::StringRef name )

Set the function.res_name attribute for the result at the given index from a string.

Definition at line 342 of file Ops.cpp.

◆ setResNameAttr()

void llzk::function::FuncDefOp::setResNameAttr ( unsigned index,
const ::mlir::StringAttr & attr )

Set the function.res_name attribute for the result at the given index.

Definition at line 337 of file Ops.cpp.

◆ setSymName()

void llzk::function::FuncDefOp::setSymName ( ::llvm::StringRef attrValue)

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

◆ setSymNameAttr()

void llzk::function::FuncDefOp::setSymNameAttr ( ::mlir::StringAttr attr)
inline

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

◆ verify()

LogicalResult llzk::function::FuncDefOp::verify ( )

Definition at line 346 of file Ops.cpp.

◆ verifyInherentAttrs()

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

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

◆ verifyInvariants()

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

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

◆ verifyInvariantsImpl()

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

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

◆ verifySymbolUses()

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

Definition at line 461 of file Ops.cpp.

◆ writeProperties()

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

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


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