LLZK
3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Toggle main menu visibility
Loading...
Searching...
No Matches
WitgenLowering.h
Go to the documentation of this file.
1
//===-- WitgenLowering.h ---------------------------------------*- C++ -*-===//
2
//
3
// Part of the LLZK Project, under the Apache License v2.0.
4
// See LICENSE.txt for license information.
5
// Copyright 2026 Project LLZK
6
// SPDX-License-Identifier: Apache-2.0
7
//
8
//===----------------------------------------------------------------------===//
9
10
#pragma once
11
12
#include <mlir/Pass/Pass.h>
13
14
#include <cstdint>
15
#include <memory>
16
17
namespace
llzk::witgen
{
18
19
struct
WitgenOptions
;
20
enum class
OutputScope
: std::uint8_t;
21
24
std::unique_ptr<mlir::Pass>
createLowerComputeToCorePass
(
const
WitgenOptions
&options);
25
27
std::unique_ptr<mlir::Pass>
createCreateWitgenEntryPass
(
OutputScope
outputScope);
28
30
void
addWitgenPreparePipeline
(mlir::OpPassManager &pm,
const
WitgenOptions
&options);
31
32
}
// namespace llzk::witgen
llzk::witgen
Definition
Errors.h:15
llzk::witgen::OutputScope
OutputScope
Select the JSON scope emitted by llzk-witgen.
Definition
WitgenDriver.h:34
llzk::witgen::addWitgenPreparePipeline
void addWitgenPreparePipeline(OpPassManager &pm, const WitgenOptions &)
Definition
WitgenLowering.cpp:2332
llzk::witgen::createLowerComputeToCorePass
std::unique_ptr< Pass > createLowerComputeToCorePass(const WitgenOptions &options)
Create the pass that lowers supported LLZK compute IR into core MLIR dialects suitable for LLVM lower...
Definition
WitgenLowering.cpp:2344
llzk::witgen::createCreateWitgenEntryPass
std::unique_ptr< Pass > createCreateWitgenEntryPass(OutputScope outputScope)
Create the pass that synthesizes the stable llzk-witgen JIT entry wrapper.
Definition
WitgenLowering.cpp:2348
llzk::witgen::WitgenOptions
Configure one llzk-witgen execution.
Definition
WitgenDriver.h:44
tools
llzk-witgen
WitgenLowering.h
Generated by
1.17.0
Copyright 2025 Veridise Inc. under the Apache License v2.0. Copyright 2026 Project LLZK under the Apache License v2.0.