LLZK 2.1.1
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
Types.h
Go to the documentation of this file.
1//===-- Types.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
14
15#include <mlir/Interfaces/MemorySlotInterfaces.h>
16
17namespace llzk::pod {
18
20 mlir::StringRef name;
21 mlir::Value value;
22};
23
24// Type alias for a list of pairs of (symbol, value) in the context of building `pod.new` ops.
25using InitializedRecords = mlir::ArrayRef<RecordValue>;
26
27} // namespace llzk::pod
28
29// Include TableGen'd declarations
30#define GET_TYPEDEF_CLASSES
32
33namespace llzk::pod {
34
35mlir::ParseResult parsePodType(mlir::AsmParser &parser, mlir::SmallVector<RecordAttr> &);
36void printPodType(mlir::AsmPrinter &printer, mlir::ArrayRef<RecordAttr>);
37
38} // namespace llzk::pod
mlir::ArrayRef< RecordValue > InitializedRecords
Definition Types.h:25
ParseResult parsePodType(AsmParser &parser, SmallVector< RecordAttr > &records)
Definition Types.cpp:91
void printPodType(AsmPrinter &printer, ArrayRef< RecordAttr > records)
Definition Types.cpp:103
mlir::Value value
Definition Types.h:21
mlir::StringRef name
Definition Types.h:20