LLZK 2.1.1
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
ExecutionEngineBackend.h
Go to the documentation of this file.
1//===-- ExecutionEngineBackend.h - llzk-witgen JIT backend ------*- 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 "WitgenDriver.h"
13
14#include "llzk/Util/Field.h"
15
16#include <mlir/IR/BuiltinOps.h>
17
18#include <llvm/Support/Error.h>
19#include <llvm/Support/JSON.h>
20
21namespace llzk::witgen {
22
24llvm::Expected<llvm::json::Value> runWithExecutionEngine(
25 mlir::ModuleOp moduleOp, mlir::SymbolTableCollection &tables, const llzk::Field &field,
26 const llvm::json::Value &input, const WitgenOptions &options
27);
28
29} // namespace llzk::witgen
Information about the prime finite field used for the interval analysis.
Definition Field.h:36
llvm::Expected< llvm::json::Value > runWithExecutionEngine(ModuleOp moduleOp, SymbolTableCollection &tables, const Field &field, const llvm::json::Value &input, const WitgenOptions &options)
Execute witness generation through MLIR lowering and the LLVM execution engine.
Configure one llzk-witgen execution.