17#include <llvm/ADT/SmallVector.h>
18#include <llvm/Support/Error.h>
19#include <llvm/Support/JSON.h>
34 llvm::SmallVector<std::string>
path;
52 llvm::ArrayRef<OutputBinding> bindings, llvm::ArrayRef<llvm::json::Value> serializedLeaves
llvm::SmallVector< InputBinding > collectInputBindings(function::FuncDefOp computeFunc)
Collect stable JSON bindings for the main compute inputs.
OutputScope
Select the JSON scope emitted by llzk-witgen.
FailureOr< llvm::SmallVector< OutputBinding > > collectOutputBindings(component::StructDefOp mainDef, SymbolTableCollection &tables, Operation *origin, OutputScope scope)
Collect the selected output bindings for the requested scope.
llvm::json::Value buildSignalsJSONObject(ArrayRef< OutputBinding > bindings, ArrayRef< llvm::json::Value > serializedLeaves)
Assemble a nested JSON object from selected witness leaves.
bool memberIsSignal(component::StructDefOp owner, component::MemberDefOp member)
Return true iff the member is considered a witness signal.
Describe one selected witness output leaf.
llvm::SmallVector< std::string > path