LLZK 3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
llzk::OpClassesWithStructTypes Struct Reference

Lists all LLZK op classes that may contain a StructType in their results or attributes. More...

#include <TypeConversionPatterns.h>

Public Types

using WithGeneralBuilder
 Ops in this subset define the general builder function: build(OpBuilder&, OperationState&, TypeRange, ValueRange, ArrayRef<NamedAttribute>).
using NoGeneralBuilder = std::tuple<function::CallOp, array::CreateArrayOp, pod::NewPodOp>
 Ops in this subset do NOT define the general builder function (see above), so they cannot use GeneralTypeReplacePattern.

Detailed Description

Lists all LLZK op classes that may contain a StructType in their results or attributes.

Definition at line 78 of file TypeConversionPatterns.h.

Member Typedef Documentation

◆ NoGeneralBuilder

Ops in this subset do NOT define the general builder function (see above), so they cannot use GeneralTypeReplacePattern.

A custom OpConversionPattern is needed to convert these ops.

The newGeneralRewritePatternSet() function provides a default OpConversionPattern for each of these with benefit 0, allowing more specific higher-benefit patterns to override.

Definition at line 113 of file TypeConversionPatterns.h.

◆ WithGeneralBuilder

Initial value:
std::tuple<
>

Ops in this subset define the general builder function: build(OpBuilder&, OperationState&, TypeRange, ValueRange, ArrayRef<NamedAttribute>).

Definition at line 82 of file TypeConversionPatterns.h.


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