LLZK 2.1.1
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
OpImplementationGenerator Struct Reference

Generator for operation C implementation files. More...

Inheritance diagram for OpImplementationGenerator:
[legend]
Collaboration diagram for OpImplementationGenerator:
[legend]

Public Member Functions

 ~OpImplementationGenerator () override=default
void genPrologue () const override
void genOpBuildImpl (const std::string &operationName, const std::string &params, const std::string &assignments) const
 Generate operation "Build" function implementation.
void genOperandGetterImpl (int index) const
void genOperandSetterImpl (int index) const
void genVariadicOperandGetterImpl (int index) const
void genVariadicOperandSetterImpl () const
void genVariadicOfVariadicOperandSetterImpl (mlir::StringRef segSizeAttrName) const
void genAttributeGetterImpl (mlir::StringRef attrName) const
void genAttributeSetterImpl (mlir::StringRef attrName) const
void genResultGetterImpl (int index) const
void genVariadicResultGetterImpl (int startIdx) const
void genRegionGetterImpl (unsigned index) const
void genVariadicRegionGetterImpl (unsigned startIdx) const
Public Member Functions inherited from ImplementationGenerator
 ~ImplementationGenerator () override=default
virtual void genIsAImpl () const
void genExtraMethod (const ExtraMethod &method) const override
 Generate implementation for an extra method from an extraClassDeclaration
 Generator (std::string_view recordKind, llvm::raw_ostream &outputStream)
Public Member Functions inherited from Generator
 Generator (std::string_view recordKind, llvm::raw_ostream &outputStream)
virtual ~Generator ()=default
virtual void setNamespaceAndClassName (const mlir::tblgen::Dialect &d, mlir::StringRef cppClassName)
 Set the dialect and class name for code generation.
virtual void genExtraMethods (mlir::StringRef extraDecl) const
 Generate code for extra methods from an extraClassDeclaration
Public Member Functions inherited from OpGeneratorData
void setOperandName (mlir::StringRef name)
void setAttributeName (mlir::StringRef name)
void setResultName (mlir::StringRef name, int resultIndex)
void setRegionName (mlir::StringRef name, unsigned regionIndex)

Additional Inherited Members

Protected Attributes inherited from Generator
std::string kind
llvm::raw_ostream & os
std::string dialectNameCapitalized
mlir::StringRef dialectNamespace
mlir::StringRef className
Protected Attributes inherited from OpGeneratorData
std::string operandNameCapitalized
std::string attrNameCapitalized
std::string resultNameCapitalized
std::string regionNameCapitalized

Detailed Description

Generator for operation C implementation files.

Definition at line 411 of file OpCAPIGen.cpp.

Constructor & Destructor Documentation

◆ ~OpImplementationGenerator()

OpImplementationGenerator::~OpImplementationGenerator ( )
overridedefault

Member Function Documentation

◆ genAttributeGetterImpl()

void OpImplementationGenerator::genAttributeGetterImpl ( mlir::StringRef attrName) const
inline

Definition at line 514 of file OpCAPIGen.cpp.

◆ genAttributeSetterImpl()

void OpImplementationGenerator::genAttributeSetterImpl ( mlir::StringRef attrName) const
inline

Definition at line 528 of file OpCAPIGen.cpp.

◆ genOpBuildImpl()

void OpImplementationGenerator::genOpBuildImpl ( const std::string & operationName,
const std::string & params,
const std::string & assignments ) const
inline

Generate operation "Build" function implementation.

Parameters
operationNameThe full operation name (e.g., "dialect.opname")
paramsThe parameter list for the "Build" function
assignmentsThe code to populate the operation state with operands, attributes, etc.

Definition at line 423 of file OpCAPIGen.cpp.

◆ genOperandGetterImpl()

void OpImplementationGenerator::genOperandGetterImpl ( int index) const
inline

Definition at line 439 of file OpCAPIGen.cpp.

◆ genOperandSetterImpl()

void OpImplementationGenerator::genOperandSetterImpl ( int index) const
inline

Definition at line 453 of file OpCAPIGen.cpp.

◆ genPrologue()

void OpImplementationGenerator::genPrologue ( ) const
inlineoverridevirtual

Reimplemented from ImplementationGenerator.

Definition at line 415 of file OpCAPIGen.cpp.

◆ genRegionGetterImpl()

void OpImplementationGenerator::genRegionGetterImpl ( unsigned index) const
inline

Definition at line 570 of file OpCAPIGen.cpp.

◆ genResultGetterImpl()

void OpImplementationGenerator::genResultGetterImpl ( int index) const
inline

Definition at line 542 of file OpCAPIGen.cpp.

◆ genVariadicOfVariadicOperandSetterImpl()

void OpImplementationGenerator::genVariadicOfVariadicOperandSetterImpl ( mlir::StringRef segSizeAttrName) const
inline

Definition at line 500 of file OpCAPIGen.cpp.

◆ genVariadicOperandGetterImpl()

void OpImplementationGenerator::genVariadicOperandGetterImpl ( int index) const
inline

Definition at line 467 of file OpCAPIGen.cpp.

◆ genVariadicOperandSetterImpl()

void OpImplementationGenerator::genVariadicOperandSetterImpl ( ) const
inline

Definition at line 483 of file OpCAPIGen.cpp.

◆ genVariadicRegionGetterImpl()

void OpImplementationGenerator::genVariadicRegionGetterImpl ( unsigned startIdx) const
inline

Definition at line 584 of file OpCAPIGen.cpp.

◆ genVariadicResultGetterImpl()

void OpImplementationGenerator::genVariadicResultGetterImpl ( int startIdx) const
inline

Definition at line 556 of file OpCAPIGen.cpp.


The documentation for this struct was generated from the following file: