LLZK
3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Toggle main menu visibility
Loading...
Searching...
No Matches
Versioning.cpp
Go to the documentation of this file.
1
//===-- Versioning.cpp ------------------------------------------*- 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/Dialect/LLZK/IR/Versioning.h
"
11
12
#include "
llzk/Config/Config.h
"
13
14
#include <mlir/Support/LLVM.h>
15
16
using namespace
mlir
;
17
18
namespace
llzk
{
19
20
//===------------------------------------------------------------------===//
21
// LLZKDialectVersion
22
//===------------------------------------------------------------------===//
23
24
const
LLZKDialectVersion
&
LLZKDialectVersion::CurrentVersion
() {
25
static
LLZKDialectVersion
current(
LLZK_VERSION_MAJOR
,
LLZK_VERSION_MINOR
,
LLZK_VERSION_PATCH
);
26
return
current;
27
}
28
29
FailureOr<LLZKDialectVersion>
LLZKDialectVersion::read
(DialectBytecodeReader &reader) {
30
LLZKDialectVersion
v;
31
if
(failed(reader.readVarInt(v.
majorVersion
)) || failed(reader.readVarInt(v.
minorVersion
)) ||
32
failed(reader.readVarInt(v.
patchVersion
))) {
33
return
failure();
34
}
35
return
v;
36
}
37
38
void
LLZKDialectVersion::write
(DialectBytecodeWriter &writer)
const
{
39
writer.writeVarInt(
majorVersion
);
40
writer.writeVarInt(
minorVersion
);
41
writer.writeVarInt(
patchVersion
);
42
}
43
44
std::string
LLZKDialectVersion::str
()
const
{
45
return
(Twine(
majorVersion
) +
"."
+ Twine(
minorVersion
) +
"."
+ Twine(
patchVersion
)).str();
46
}
47
48
std::strong_ordering
LLZKDialectVersion::operator<=>
(
const
LLZKDialectVersion
&other)
const
{
49
if
(
auto
cmp
=
majorVersion <=>
other.
majorVersion
;
cmp
!= 0) {
50
return
cmp
;
51
}
52
if
(
auto
cmp
=
minorVersion <=>
other.
minorVersion
;
cmp
!= 0) {
53
return
cmp
;
54
}
55
return
patchVersion <=>
other.
patchVersion
;
56
}
57
58
}
// namespace llzk
Config.h
LLZK_VERSION_MAJOR
#define LLZK_VERSION_MAJOR
Definition
Config.h:13
LLZK_VERSION_MINOR
#define LLZK_VERSION_MINOR
Definition
Config.h:14
LLZK_VERSION_PATCH
#define LLZK_VERSION_PATCH
Definition
Config.h:15
Versioning.h
llzk
Definition
AnalysisPassEnums.cpp:19
llzk::cmp
ExpressionValue cmp(const llvm::SMTSolverRef &solver, CmpOp op, const ExpressionValue &lhs, const ExpressionValue &rhs)
Definition
IntervalAnalysis.cpp:478
mlir
Definition
ValueModel.h:30
llzk::LLZKDialectVersion::CurrentVersion
static const LLZKDialectVersion & CurrentVersion()
Definition
Versioning.cpp:24
llzk::LLZKDialectVersion::majorVersion
uint64_t majorVersion
Definition
Versioning.h:39
llzk::LLZKDialectVersion::operator<=>
std::strong_ordering operator<=>(const LLZKDialectVersion &other) const
Definition
Versioning.cpp:48
llzk::LLZKDialectVersion::patchVersion
uint64_t patchVersion
Definition
Versioning.h:39
llzk::LLZKDialectVersion::minorVersion
uint64_t minorVersion
Definition
Versioning.h:39
llzk::LLZKDialectVersion::read
static mlir::FailureOr< LLZKDialectVersion > read(mlir::DialectBytecodeReader &reader)
Definition
Versioning.cpp:29
llzk::LLZKDialectVersion::write
void write(mlir::DialectBytecodeWriter &writer) const
Definition
Versioning.cpp:38
llzk::LLZKDialectVersion::LLZKDialectVersion
LLZKDialectVersion()
Definition
Versioning.h:27
llzk::LLZKDialectVersion::str
std::string str() const
Definition
Versioning.cpp:44
lib
Dialect
LLZK
IR
Versioning.cpp
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.