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

CLI Option configuration for the full struct inlining pipeline. More...

#include <LLZKTransformationPassPipelines.h>

Inheritance diagram for llzk::FullStructInliningOptions:
[legend]
Collaboration diagram for llzk::FullStructInliningOptions:
[legend]

Public Types

using FlatteningOptions = NestedPipelineOptions<StructInliningFlatteningOptions>
using InliningOptions

Public Attributes

Option< FlatteningOptionsflattening
Option< bool > arrayToScalar
Option< bool > podToScalar
Option< InliningOptionsinlining

Detailed Description

CLI Option configuration for the full struct inlining pipeline.

Definition at line 59 of file LLZKTransformationPassPipelines.h.

Member Typedef Documentation

◆ FlatteningOptions

◆ InliningOptions

Initial value:
static_cast<std::unique_ptr<mlir::Pass> (*)()>(&llzk::component::createInlineStructsPass)>
std::unique_ptr<::mlir::Pass > createInlineStructsPass()
Stores textual options for a constituent pass after validating them against that pass' native MLIR op...
Definition Parsers.h:65

Definition at line 63 of file LLZKTransformationPassPipelines.h.

Member Data Documentation

◆ arrayToScalar

Option<bool> llzk::FullStructInliningOptions::arrayToScalar
Initial value:
{
*this, "array-to-scalar",
llvm::cl::desc("whether to run the array-to-scalar pass in this pipeline"),
llvm::cl::init(true)
}

Definition at line 74 of file LLZKTransformationPassPipelines.h.

◆ flattening

Option<FlatteningOptions> llzk::FullStructInliningOptions::flattening
Initial value:
{
*this, "flattening",
llvm::cl::desc(
"options for the flattening pass used in this pipeline; this pipeline defaults "
"flattening pass cleanup to `main-as-root`"
),
llvm::cl::init(FlatteningOptions {})
}
NestedPipelineOptions< StructInliningFlatteningOptions > FlatteningOptions

Definition at line 66 of file LLZKTransformationPassPipelines.h.

◆ inlining

Option<InliningOptions> llzk::FullStructInliningOptions::inlining
Initial value:
{
*this, "inlining", llvm::cl::desc("options for the inlining pass used in this pipeline"),
llvm::cl::init(InliningOptions {})
}
NestedPassOptions< static_cast< std::unique_ptr< mlir::Pass >(*)()>(&llzk::component::createInlineStructsPass)> InliningOptions

Definition at line 83 of file LLZKTransformationPassPipelines.h.

◆ podToScalar

Option<bool> llzk::FullStructInliningOptions::podToScalar
Initial value:
{
*this, "pod-to-scalar",
llvm::cl::desc("whether to run the pod-to-scalar pass in this pipeline"), llvm::cl::init(true)
}

Definition at line 79 of file LLZKTransformationPassPipelines.h.


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