LLZK
3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
Bool.cpp
Go to the documentation of this file.
1
//===-- Bool.cpp - Bool dialect C API implementation ------------*- C++ -*-===//
2
//
3
// Part of the LLZK Project, under the Apache License v2.0.
4
// See LICENSE.txt for license information.
5
// Copyright 2025 Veridise Inc.
6
// SPDX-License-Identifier: Apache-2.0
7
//
8
//===----------------------------------------------------------------------===//
9
10
#include "
llzk-c/Dialect/Bool.h
"
11
12
#include "
llzk/CAPI/Support.h
"
13
#include "
llzk/Dialect/Bool/IR/Attrs.h
"
14
#include "
llzk/Dialect/Bool/IR/Dialect.h
"
15
#include "
llzk/Dialect/Bool/IR/Ops.h
"
16
#include "
llzk/Dialect/Bool/IR/Utils.h
"
17
#include "
llzk/Dialect/Bool/Transforms/TransformationPasses.h
"
18
#include "
llzk/Util/TypeHelper.h
"
19
20
#include <mlir/CAPI/Pass.h>
21
#include <mlir/CAPI/Registration.h>
22
23
using namespace
llzk::boolean
;
24
25
static
inline
void
registerLLZKBoolTransformationPasses() {
registerTransformationPasses
(); }
26
27
// Include the generated CAPI
28
#include "
llzk/Dialect/Bool/IR/Enums.capi.cpp.inc
"
29
// Enums must come before Attrs and Ops
30
#include "
llzk/Dialect/Bool/IR/Attrs.capi.cpp.inc
"
31
#include "
llzk/Dialect/Bool/IR/Ops.capi.cpp.inc
"
32
#include "
llzk/Dialect/Bool/Transforms/TransformationPasses.capi.cpp.inc
"
33
34
MLIR_DEFINE_CAPI_DIALECT_REGISTRATION(Bool, llzk__boolean,
BoolDialect
)
35
36
MlirType
llzkBool_QuantifierOpGetDomainIterType
(MlirType type) {
37
auto
cppType = unwrap(type);
38
if
(!mlir::isa<llzk::array::ArrayType>(cppType)) {
39
return
wrap(Type());
40
}
41
42
return
wrap(
43
llzk::boolean::getQuantifierOpDomainIterType
(mlir::cast<llzk::array::ArrayType>(cppType))
44
);
45
}
Attrs.capi.cpp.inc
Attrs.h
Dialect.h
Enums.capi.cpp.inc
Ops.capi.cpp.inc
Ops.h
TransformationPasses.capi.cpp.inc
TransformationPasses.h
llzkBool_QuantifierOpGetDomainIterType
MlirType llzkBool_QuantifierOpGetDomainIterType(MlirType type)
Returns the type used in a quantifier operation's block argument.
Definition
Bool.cpp:36
Bool.h
TypeHelper.h
Utils.h
llzk::boolean::BoolDialect
Definition
Dialect.h.inc:13
Support.h
llzk::boolean
Definition
Ops.cpp:29
llzk::boolean::getQuantifierOpDomainIterType
mlir::Type getQuantifierOpDomainIterType(llzk::array::ArrayType arr)
Extracts the type used for a quantifier op block argument.
Definition
Utils.h:20
llzk::boolean::registerTransformationPasses
void registerTransformationPasses()
Definition
TransformationPasses.h:119
lib
CAPI
Dialect
Bool.cpp
Generated by
1.14.0
Copyright 2025 Veridise Inc. under the Apache License v2.0. Copyright 2026 Project LLZK under the Apache License v2.0.