LLZK
3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Toggle main menu visibility
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
12
#include "
llzk/Dialect/POD/IR/Attrs.h
"
13
#include "
llzk/Dialect/POD/IR/Dialect.h
"
14
15
#include <mlir/Interfaces/MemorySlotInterfaces.h>
16
17
namespace
llzk::pod
{
18
19
struct
RecordValue
{
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.
25
using
InitializedRecords
= mlir::ArrayRef<RecordValue>;
26
27
}
// namespace llzk::pod
28
29
// Include TableGen'd declarations
30
#define GET_TYPEDEF_CLASSES
31
#include "
llzk/Dialect/POD/IR/Types.h.inc
"
32
33
namespace
llzk::pod
{
34
35
mlir::ParseResult
parsePodType
(mlir::AsmParser &parser, mlir::SmallVector<RecordAttr> &);
36
void
printPodType
(mlir::AsmPrinter &printer, mlir::ArrayRef<RecordAttr>);
37
38
}
// namespace llzk::pod
Attrs.h
Dialect.h
Types.h.inc
llzk::pod
Definition
Attrs.cpp:19
llzk::pod::InitializedRecords
mlir::ArrayRef< RecordValue > InitializedRecords
Definition
Types.h:25
llzk::pod::parsePodType
ParseResult parsePodType(AsmParser &parser, SmallVector< RecordAttr > &records)
Definition
Types.cpp:91
llzk::pod::printPodType
void printPodType(AsmPrinter &printer, ArrayRef< RecordAttr > records)
Definition
Types.cpp:103
llzk::pod::RecordValue
Definition
Types.h:19
llzk::pod::RecordValue::value
mlir::Value value
Definition
Types.h:21
llzk::pod::RecordValue::name
mlir::StringRef name
Definition
Types.h:20
include
llzk
Dialect
POD
IR
Types.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.