Files
gps/tools/local/circt/include/mlir/Dialect/SMT/IR/SMTEnums.cpp.inc
T
2026-07-12 11:01:51 +03:00

120 lines
5.2 KiB
C++

/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|* Enum Utility Definitions *|
|* *|
|* Automatically generated file, do not edit! *|
|* From: SMT.td *|
|* *|
\*===----------------------------------------------------------------------===*/
namespace mlir::smt {
::llvm::StringRef stringifyBVCmpPredicate(BVCmpPredicate val) {
switch (val) {
case BVCmpPredicate::slt: return "slt";
case BVCmpPredicate::sle: return "sle";
case BVCmpPredicate::sgt: return "sgt";
case BVCmpPredicate::sge: return "sge";
case BVCmpPredicate::ult: return "ult";
case BVCmpPredicate::ule: return "ule";
case BVCmpPredicate::ugt: return "ugt";
case BVCmpPredicate::uge: return "uge";
}
return "";
}
::std::optional<BVCmpPredicate> symbolizeBVCmpPredicate(::llvm::StringRef str) {
return ::llvm::StringSwitch<::std::optional<BVCmpPredicate>>(str)
.Case("slt", BVCmpPredicate::slt)
.Case("sle", BVCmpPredicate::sle)
.Case("sgt", BVCmpPredicate::sgt)
.Case("sge", BVCmpPredicate::sge)
.Case("ult", BVCmpPredicate::ult)
.Case("ule", BVCmpPredicate::ule)
.Case("ugt", BVCmpPredicate::ugt)
.Case("uge", BVCmpPredicate::uge)
.Default(::std::nullopt);
}
::std::optional<BVCmpPredicate> symbolizeBVCmpPredicate(uint64_t value) {
switch (value) {
case 0: return BVCmpPredicate::slt;
case 1: return BVCmpPredicate::sle;
case 2: return BVCmpPredicate::sgt;
case 3: return BVCmpPredicate::sge;
case 4: return BVCmpPredicate::ult;
case 5: return BVCmpPredicate::ule;
case 6: return BVCmpPredicate::ugt;
case 7: return BVCmpPredicate::uge;
default: return ::std::nullopt;
}
}
bool BVCmpPredicateAttr::classof(::mlir::Attribute attr) {
return (((::llvm::isa<::mlir::IntegerAttr>(attr))) && ((::llvm::cast<::mlir::IntegerAttr>(attr).getType().isSignlessInteger(64)))) && (((
::llvm::cast<::mlir::IntegerAttr>(attr).getValue().eq(::llvm::APInt(64, 0)))) || ((
::llvm::cast<::mlir::IntegerAttr>(attr).getValue().eq(::llvm::APInt(64, 1)))) || ((
::llvm::cast<::mlir::IntegerAttr>(attr).getValue().eq(::llvm::APInt(64, 2)))) || ((
::llvm::cast<::mlir::IntegerAttr>(attr).getValue().eq(::llvm::APInt(64, 3)))) || ((
::llvm::cast<::mlir::IntegerAttr>(attr).getValue().eq(::llvm::APInt(64, 4)))) || ((
::llvm::cast<::mlir::IntegerAttr>(attr).getValue().eq(::llvm::APInt(64, 5)))) || ((
::llvm::cast<::mlir::IntegerAttr>(attr).getValue().eq(::llvm::APInt(64, 6)))) || ((
::llvm::cast<::mlir::IntegerAttr>(attr).getValue().eq(::llvm::APInt(64, 7)))));
}
BVCmpPredicateAttr BVCmpPredicateAttr::get(::mlir::MLIRContext *context, BVCmpPredicate val) {
::mlir::IntegerType intType = ::mlir::IntegerType::get(context, 64);
::mlir::IntegerAttr baseAttr = ::mlir::IntegerAttr::get(intType, static_cast<uint64_t>(val));
return ::llvm::cast<BVCmpPredicateAttr>(baseAttr);
}
BVCmpPredicate BVCmpPredicateAttr::getValue() const {
return static_cast<BVCmpPredicate>(::mlir::IntegerAttr::getValue().getZExtValue());
}
} // namespace mlir::smt
namespace mlir::smt {
::llvm::StringRef stringifyIntPredicate(IntPredicate val) {
switch (val) {
case IntPredicate::lt: return "lt";
case IntPredicate::le: return "le";
case IntPredicate::gt: return "gt";
case IntPredicate::ge: return "ge";
}
return "";
}
::std::optional<IntPredicate> symbolizeIntPredicate(::llvm::StringRef str) {
return ::llvm::StringSwitch<::std::optional<IntPredicate>>(str)
.Case("lt", IntPredicate::lt)
.Case("le", IntPredicate::le)
.Case("gt", IntPredicate::gt)
.Case("ge", IntPredicate::ge)
.Default(::std::nullopt);
}
::std::optional<IntPredicate> symbolizeIntPredicate(uint64_t value) {
switch (value) {
case 0: return IntPredicate::lt;
case 1: return IntPredicate::le;
case 2: return IntPredicate::gt;
case 3: return IntPredicate::ge;
default: return ::std::nullopt;
}
}
bool IntPredicateAttr::classof(::mlir::Attribute attr) {
return (((::llvm::isa<::mlir::IntegerAttr>(attr))) && ((::llvm::cast<::mlir::IntegerAttr>(attr).getType().isSignlessInteger(64)))) && (((
::llvm::cast<::mlir::IntegerAttr>(attr).getValue().eq(::llvm::APInt(64, 0)))) || ((
::llvm::cast<::mlir::IntegerAttr>(attr).getValue().eq(::llvm::APInt(64, 1)))) || ((
::llvm::cast<::mlir::IntegerAttr>(attr).getValue().eq(::llvm::APInt(64, 2)))) || ((
::llvm::cast<::mlir::IntegerAttr>(attr).getValue().eq(::llvm::APInt(64, 3)))));
}
IntPredicateAttr IntPredicateAttr::get(::mlir::MLIRContext *context, IntPredicate val) {
::mlir::IntegerType intType = ::mlir::IntegerType::get(context, 64);
::mlir::IntegerAttr baseAttr = ::mlir::IntegerAttr::get(intType, static_cast<uint64_t>(val));
return ::llvm::cast<IntPredicateAttr>(baseAttr);
}
IntPredicate IntPredicateAttr::getValue() const {
return static_cast<IntPredicate>(::mlir::IntegerAttr::getValue().getZExtValue());
}
} // namespace mlir::smt