|
LLZK 3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
|
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. | |
Lists all LLZK op classes that may contain a StructType in their results or attributes.
Definition at line 78 of file TypeConversionPatterns.h.
| using llzk::OpClassesWithStructTypes::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.
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.
Ops in this subset define the general builder function: build(OpBuilder&, OperationState&, TypeRange, ValueRange, ArrayRef<NamedAttribute>).
Definition at line 82 of file TypeConversionPatterns.h.