1 //===- SDBMDialect.h - Dialect for striped DBMs -----------------*- C++ -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 9 #ifndef MLIR_DIALECT_SDBM_SDBMDIALECT_H 10 #define MLIR_DIALECT_SDBM_SDBMDIALECT_H 11 12 #include "mlir/IR/Dialect.h" 13 #include "mlir/Support/StorageUniquer.h" 14 15 namespace mlir { 16 class MLIRContext; 17 18 class SDBMDialect : public Dialect { 19 public: 20 SDBMDialect(MLIRContext *context); 21 22 /// Since there are no other virtual methods in this derived class, override 23 /// the destructor so that key methods get defined in the corresponding 24 /// module. 25 ~SDBMDialect() override; 26 getDialectNamespace()27 static StringRef getDialectNamespace() { return "sdbm"; } 28 29 /// Get the uniquer for SDBM expressions. This should not be used directly. getUniquer()30 StorageUniquer &getUniquer() { return uniquer; } 31 32 private: 33 StorageUniquer uniquer; 34 }; 35 } // namespace mlir 36 37 #endif // MLIR_DIALECT_SDBM_SDBMDIALECT_H 38