This greatly simplifies a large portion of the underlying infrastructure, allows for lookups of singleton classes to be much more efficient and always thread-safe(no locking). As a result of this, the dialect symbol registry has been removed as it is no longer necessary. For users broken by this change, an alert was sent out(https://llvm.discourse.group/t/removing-kinds-from-attributes-and-types) that helps prevent a majority of the breakage surface area. All that should be necessary, if the advice in that alert was followed, is removing the kind passed to the ::get methods. Differential Revision: https://reviews.llvm.org/D86121
24 lines
995 B
C++
24 lines
995 B
C++
//===- SDBMDialect.cpp - MLIR SDBM Dialect --------------------------------===//
|
|
//
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "mlir/Dialect/SDBM/SDBMDialect.h"
|
|
#include "SDBMExprDetail.h"
|
|
|
|
using namespace mlir;
|
|
|
|
SDBMDialect::SDBMDialect(MLIRContext *context)
|
|
: Dialect(getDialectNamespace(), context, TypeID::get<SDBMDialect>()) {
|
|
uniquer.registerParametricStorageType<detail::SDBMBinaryExprStorage>();
|
|
uniquer.registerParametricStorageType<detail::SDBMConstantExprStorage>();
|
|
uniquer.registerParametricStorageType<detail::SDBMDiffExprStorage>();
|
|
uniquer.registerParametricStorageType<detail::SDBMNegExprStorage>();
|
|
uniquer.registerParametricStorageType<detail::SDBMTermExprStorage>();
|
|
}
|
|
|
|
SDBMDialect::~SDBMDialect() = default;
|