14 #ifndef MLIR_IR_SDBMEXPRDETAIL_H 15 #define MLIR_IR_SDBMEXPRDETAIL_H 29 return static_cast<SDBMExprKind>(BaseStorage::getKind());
37 using KeyTy = std::pair<SDBMDirectExpr, SDBMConstantExpr>;
40 return std::get<0>(key) == lhs && std::get<1>(key) == rhs;
46 result->
lhs = std::get<0>(key);
47 result->rhs = std::get<1>(key);
58 using KeyTy = std::pair<SDBMDirectExpr, SDBMTermExpr>;
61 return std::get<0>(key) == lhs && std::get<1>(key) == rhs;
67 result->
lhs = std::get<0>(key);
68 result->rhs = std::get<1>(key);
129 #endif // MLIR_IR_SDBMEXPRDETAIL_H Definition: InferTypeOpInterface.cpp:20
SDBMDialect * getDialect() const
Returns the SDBM dialect instance.
Definition: SDBMExpr.cpp:148
SDBMDirectExpr lhs
Definition: SDBMExprDetail.h:73
int64_t constant
Definition: SDBMExprDetail.h:90
Definition: SDBMExprDetail.h:27
static SDBMTermExprStorage * construct(StorageUniquer::StorageAllocator &allocator, const KeyTy &key)
Definition: SDBMExprDetail.h:100
SDBMDialect * dialect
Definition: SDBMExprDetail.h:32
Definition: StorageUniquer.h:89
static SDBMBinaryExprStorage * construct(StorageUniquer::StorageAllocator &allocator, const KeyTy &key)
Definition: SDBMExprDetail.h:44
int64_t KeyTy
Definition: SDBMExprDetail.h:79
SDBMDirectExpr lhs
Definition: SDBMExprDetail.h:52
bool operator==(const KeyTy &key) const
Definition: SDBMExprDetail.h:113
std::pair< SDBMDirectExpr, SDBMTermExpr > KeyTy
Definition: SDBMExprDetail.h:58
SDBMExprKind
Definition: SDBMExpr.h:26
SDBMDirectExpr expr
Definition: SDBMExprDetail.h:123
SDBMExprKind getKind()
Definition: SDBMExprDetail.h:28
SDBM constant expression, wraps a 64-bit integer.
Definition: SDBMExpr.h:155
T * allocate()
Allocate an instance of the provided type.
Definition: StorageUniquer.h:109
Definition: SDBMExprDetail.h:57
static SDBMDiffExprStorage * construct(StorageUniquer::StorageAllocator &allocator, const KeyTy &key)
Definition: SDBMExprDetail.h:65
Definition: SDBMExprDetail.h:36
unsigned KeyTy
Definition: SDBMExprDetail.h:95
bool operator==(const KeyTy &key) const
Definition: SDBMExprDetail.h:97
bool operator==(const KeyTy &key) const
Definition: SDBMExprDetail.h:39
SDBMConstantExpr rhs
Definition: SDBMExprDetail.h:53
Definition: SDBMExprDetail.h:110
ValueBuilder< mlir::LLVM::ConstantOp > constant
Definition: LinalgToLLVM.cpp:56
bool operator==(const KeyTy &key) const
Definition: SDBMExprDetail.h:60
SDBMTermExpr rhs
Definition: SDBMExprDetail.h:74
static SDBMNegExprStorage * construct(StorageUniquer::StorageAllocator &allocator, const KeyTy &key)
Definition: SDBMExprDetail.h:116
Definition: StorageUniquer.h:71
Definition: SDBMExpr.h:197
bool operator==(const KeyTy &key) const
Definition: SDBMExprDetail.h:81
unsigned position
Definition: SDBMExprDetail.h:106
Definition: SDBMExprDetail.h:94
std::pair< SDBMDirectExpr, SDBMConstantExpr > KeyTy
Definition: SDBMExprDetail.h:37
Definition: SDBMDialect.h:18
Definition: SDBMExprDetail.h:78
Definition: SDBMExpr.h:221
static SDBMConstantExprStorage * construct(StorageUniquer::StorageAllocator &allocator, const KeyTy &key)
Definition: SDBMExprDetail.h:84