LLZK 2.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
SMTEnums.cpp.inc
Go to the documentation of this file.
1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Enum Utility Definitions *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* From: SMT.td *|
7|* *|
8\*===----------------------------------------------------------------------===*/
9
10namespace llzk {
11namespace smt {
13 switch (val) {
14 case BVCmpPredicate::slt: return "slt";
15 case BVCmpPredicate::sle: return "sle";
16 case BVCmpPredicate::sgt: return "sgt";
17 case BVCmpPredicate::sge: return "sge";
18 case BVCmpPredicate::ult: return "ult";
19 case BVCmpPredicate::ule: return "ule";
20 case BVCmpPredicate::ugt: return "ugt";
21 case BVCmpPredicate::uge: return "uge";
22 }
23 return "";
24}
25
26::std::optional<BVCmpPredicate> symbolizeBVCmpPredicate(::llvm::StringRef str) {
27 return ::llvm::StringSwitch<::std::optional<BVCmpPredicate>>(str)
28 .Case("slt", BVCmpPredicate::slt)
29 .Case("sle", BVCmpPredicate::sle)
30 .Case("sgt", BVCmpPredicate::sgt)
31 .Case("sge", BVCmpPredicate::sge)
32 .Case("ult", BVCmpPredicate::ult)
33 .Case("ule", BVCmpPredicate::ule)
34 .Case("ugt", BVCmpPredicate::ugt)
35 .Case("uge", BVCmpPredicate::uge)
36 .Default(::std::nullopt);
37}
38::std::optional<BVCmpPredicate> symbolizeBVCmpPredicate(uint64_t value) {
39 switch (value) {
40 case 0: return BVCmpPredicate::slt;
41 case 1: return BVCmpPredicate::sle;
42 case 2: return BVCmpPredicate::sgt;
43 case 3: return BVCmpPredicate::sge;
44 case 4: return BVCmpPredicate::ult;
45 case 5: return BVCmpPredicate::ule;
46 case 6: return BVCmpPredicate::ugt;
47 case 7: return BVCmpPredicate::uge;
48 default: return ::std::nullopt;
49 }
50}
51
52bool BVCmpPredicateAttr::classof(::mlir::Attribute attr) {
53 return (((::llvm::isa<::mlir::IntegerAttr>(attr))) && ((::llvm::cast<::mlir::IntegerAttr>(attr).getType().isSignlessInteger(64)))) && (((::llvm::cast<::mlir::IntegerAttr>(attr).getInt() == 0)) || ((::llvm::cast<::mlir::IntegerAttr>(attr).getInt() == 1)) || ((::llvm::cast<::mlir::IntegerAttr>(attr).getInt() == 2)) || ((::llvm::cast<::mlir::IntegerAttr>(attr).getInt() == 3)) || ((::llvm::cast<::mlir::IntegerAttr>(attr).getInt() == 4)) || ((::llvm::cast<::mlir::IntegerAttr>(attr).getInt() == 5)) || ((::llvm::cast<::mlir::IntegerAttr>(attr).getInt() == 6)) || ((::llvm::cast<::mlir::IntegerAttr>(attr).getInt() == 7)));
54}
55BVCmpPredicateAttr BVCmpPredicateAttr::get(::mlir::MLIRContext *context, BVCmpPredicate val) {
56 ::mlir::IntegerType intType = ::mlir::IntegerType::get(context, 64);
57 ::mlir::IntegerAttr baseAttr = ::mlir::IntegerAttr::get(intType, static_cast<uint64_t>(val));
58 return ::llvm::cast<BVCmpPredicateAttr>(baseAttr);
59}
61 return static_cast<BVCmpPredicate>(::mlir::IntegerAttr::getInt());
62}
63} // namespace smt
64} // namespace llzk
65
66namespace llzk {
67namespace smt {
68::llvm::StringRef stringifyIntPredicate(IntPredicate val) {
69 switch (val) {
70 case IntPredicate::lt: return "lt";
71 case IntPredicate::le: return "le";
72 case IntPredicate::gt: return "gt";
73 case IntPredicate::ge: return "ge";
74 }
75 return "";
76}
77
78::std::optional<IntPredicate> symbolizeIntPredicate(::llvm::StringRef str) {
79 return ::llvm::StringSwitch<::std::optional<IntPredicate>>(str)
80 .Case("lt", IntPredicate::lt)
81 .Case("le", IntPredicate::le)
82 .Case("gt", IntPredicate::gt)
83 .Case("ge", IntPredicate::ge)
84 .Default(::std::nullopt);
85}
86::std::optional<IntPredicate> symbolizeIntPredicate(uint64_t value) {
87 switch (value) {
88 case 0: return IntPredicate::lt;
89 case 1: return IntPredicate::le;
90 case 2: return IntPredicate::gt;
91 case 3: return IntPredicate::ge;
92 default: return ::std::nullopt;
93 }
94}
95
96bool IntPredicateAttr::classof(::mlir::Attribute attr) {
97 return (((::llvm::isa<::mlir::IntegerAttr>(attr))) && ((::llvm::cast<::mlir::IntegerAttr>(attr).getType().isSignlessInteger(64)))) && (((::llvm::cast<::mlir::IntegerAttr>(attr).getInt() == 0)) || ((::llvm::cast<::mlir::IntegerAttr>(attr).getInt() == 1)) || ((::llvm::cast<::mlir::IntegerAttr>(attr).getInt() == 2)) || ((::llvm::cast<::mlir::IntegerAttr>(attr).getInt() == 3)));
98}
99IntPredicateAttr IntPredicateAttr::get(::mlir::MLIRContext *context, IntPredicate val) {
100 ::mlir::IntegerType intType = ::mlir::IntegerType::get(context, 64);
101 ::mlir::IntegerAttr baseAttr = ::mlir::IntegerAttr::get(intType, static_cast<uint64_t>(val));
102 return ::llvm::cast<IntPredicateAttr>(baseAttr);
103}
105 return static_cast<IntPredicate>(::mlir::IntegerAttr::getInt());
106}
107} // namespace smt
108} // namespace llzk
109
BVCmpPredicate getValue() const
static BVCmpPredicateAttr get(::mlir::MLIRContext *context, BVCmpPredicate val)
static bool classof(::mlir::Attribute attr)
static bool classof(::mlir::Attribute attr)
static IntPredicateAttr get(::mlir::MLIRContext *context, IntPredicate val)
IntPredicate getValue() const
::llvm::StringRef stringifyBVCmpPredicate(BVCmpPredicate val)
::llvm::StringRef stringifyIntPredicate(IntPredicate val)
::std::optional< IntPredicate > symbolizeIntPredicate(::llvm::StringRef str)
::std::optional< BVCmpPredicate > symbolizeBVCmpPredicate(::llvm::StringRef str)