forked from OSchip/llvm-project
Remove global dialect registration
This has been deprecated for >1month now and removal was announced in: https://llvm.discourse.group/t/rfc-revamp-dialect-registration/1559/11 Differential Revision: https://reviews.llvm.org/D86356
This commit is contained in:
parent
3a4b832b1b
commit
e7021232e6
|
@ -22,7 +22,6 @@
|
|||
#include "Standalone/StandaloneDialect.h"
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
mlir::registerAllDialects();
|
||||
mlir::registerAllPasses();
|
||||
// TODO: Register standalone passes here.
|
||||
|
||||
|
|
|
@ -68,7 +68,7 @@ std::unique_ptr<toy::ModuleAST> parseInputFile(llvm::StringRef filename) {
|
|||
}
|
||||
|
||||
int dumpMLIR() {
|
||||
mlir::MLIRContext context(/*loadAllDialects=*/false);
|
||||
mlir::MLIRContext context;
|
||||
// Load our Dialect in this MLIR Context.
|
||||
context.getOrLoadDialect<mlir::toy::ToyDialect>();
|
||||
|
||||
|
|
|
@ -102,7 +102,7 @@ int loadMLIR(llvm::SourceMgr &sourceMgr, mlir::MLIRContext &context,
|
|||
}
|
||||
|
||||
int dumpMLIR() {
|
||||
mlir::MLIRContext context(/*loadAllDialects=*/false);
|
||||
mlir::MLIRContext context;
|
||||
// Load our Dialect in this MLIR Context.
|
||||
context.getOrLoadDialect<mlir::toy::ToyDialect>();
|
||||
|
||||
|
|
|
@ -103,7 +103,7 @@ int loadMLIR(llvm::SourceMgr &sourceMgr, mlir::MLIRContext &context,
|
|||
}
|
||||
|
||||
int dumpMLIR() {
|
||||
mlir::MLIRContext context(/*loadAllDialects=*/false);
|
||||
mlir::MLIRContext context;
|
||||
// Load our Dialect in this MLIR Context.
|
||||
context.getOrLoadDialect<mlir::toy::ToyDialect>();
|
||||
|
||||
|
|
|
@ -106,7 +106,7 @@ int loadMLIR(llvm::SourceMgr &sourceMgr, mlir::MLIRContext &context,
|
|||
}
|
||||
|
||||
int dumpMLIR() {
|
||||
mlir::MLIRContext context(/*loadAllDialects=*/false);
|
||||
mlir::MLIRContext context;
|
||||
// Load our Dialect in this MLIR Context.
|
||||
context.getOrLoadDialect<mlir::toy::ToyDialect>();
|
||||
|
||||
|
@ -172,8 +172,6 @@ int dumpAST() {
|
|||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
mlir::registerAllDialects();
|
||||
|
||||
// Register any command line options.
|
||||
mlir::registerAsmPrinterCLOptions();
|
||||
mlir::registerMLIRContextCLOptions();
|
||||
|
|
|
@ -241,8 +241,6 @@ int runJit(mlir::ModuleOp module) {
|
|||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
mlir::registerAllDialects();
|
||||
|
||||
// Register any command line options.
|
||||
mlir::registerAsmPrinterCLOptions();
|
||||
mlir::registerMLIRContextCLOptions();
|
||||
|
@ -255,7 +253,7 @@ int main(int argc, char **argv) {
|
|||
|
||||
// If we aren't dumping the AST, then we are compiling with/to MLIR.
|
||||
|
||||
mlir::MLIRContext context(/*loadAllDialects=*/false);
|
||||
mlir::MLIRContext context;
|
||||
// Load our Dialect in this MLIR Context.
|
||||
context.getOrLoadDialect<mlir::toy::ToyDialect>();
|
||||
|
||||
|
|
|
@ -242,8 +242,6 @@ int runJit(mlir::ModuleOp module) {
|
|||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
mlir::registerAllDialects();
|
||||
|
||||
// Register any command line options.
|
||||
mlir::registerAsmPrinterCLOptions();
|
||||
mlir::registerMLIRContextCLOptions();
|
||||
|
@ -256,7 +254,7 @@ int main(int argc, char **argv) {
|
|||
|
||||
// If we aren't dumping the AST, then we are compiling with/to MLIR.
|
||||
|
||||
mlir::MLIRContext context(/*loadAllDialects=*/false);
|
||||
mlir::MLIRContext context;
|
||||
// Load our Dialect in this MLIR Context.
|
||||
context.getOrLoadDialect<mlir::toy::ToyDialect>();
|
||||
|
||||
|
|
|
@ -284,48 +284,6 @@ private:
|
|||
MapTy registry;
|
||||
};
|
||||
|
||||
/// Deprecated: this provides a global registry for convenience, while we're
|
||||
/// transitioning the registration mechanism to a stateless approach.
|
||||
DialectRegistry &getGlobalDialectRegistry();
|
||||
|
||||
/// This controls globally whether the dialect registry is / isn't enabled.
|
||||
/// This is deprecated and only intended to help the transition. It'll be
|
||||
/// removed soon.
|
||||
void enableGlobalDialectRegistry(bool);
|
||||
bool isGlobalDialectRegistryEnabled();
|
||||
|
||||
/// Registers all dialects from the global registries with the
|
||||
/// specified MLIRContext. This won't load the dialects in the context,
|
||||
/// but only make them available for lazy loading by name.
|
||||
/// Note: This method is not thread-safe.
|
||||
/// Deprecated: this method will be deleted soon.
|
||||
void registerAllDialects(MLIRContext *context);
|
||||
|
||||
/// Register and return the dialect with the given namespace in the provided
|
||||
/// context. Returns nullptr is there is no constructor registered for this
|
||||
/// dialect.
|
||||
inline Dialect *registerDialect(StringRef name, MLIRContext *context) {
|
||||
return getGlobalDialectRegistry().loadByName(name, context);
|
||||
}
|
||||
|
||||
/// Utility to register a dialect. Client can register their dialect with the
|
||||
/// global registry by calling registerDialect<MyDialect>();
|
||||
/// Note: This method is not thread-safe.
|
||||
template <typename ConcreteDialect> void registerDialect() {
|
||||
getGlobalDialectRegistry().insert<ConcreteDialect>();
|
||||
}
|
||||
|
||||
/// DialectRegistration provides a global initializer that registers a Dialect
|
||||
/// allocation routine.
|
||||
///
|
||||
/// Usage:
|
||||
///
|
||||
/// // At namespace scope.
|
||||
/// static DialectRegistration<MyDialect> Unused;
|
||||
template <typename ConcreteDialect> struct DialectRegistration {
|
||||
DialectRegistration() { registerDialect<ConcreteDialect>(); }
|
||||
};
|
||||
|
||||
} // namespace mlir
|
||||
|
||||
namespace llvm {
|
||||
|
|
|
@ -24,7 +24,6 @@ class InFlightDiagnostic;
|
|||
class Location;
|
||||
class MLIRContextImpl;
|
||||
class StorageUniquer;
|
||||
DialectRegistry &getGlobalDialectRegistry();
|
||||
|
||||
/// MLIRContext is the top-level object for a collection of MLIR modules. It
|
||||
/// holds immortal uniqued objects like types, and the tables used to unique
|
||||
|
@ -40,7 +39,7 @@ public:
|
|||
/// The loadAllDialects parameters allows to load all dialects from the global
|
||||
/// registry on Context construction. It is deprecated and will be removed
|
||||
/// soon.
|
||||
explicit MLIRContext(bool loadAllDialects = true);
|
||||
explicit MLIRContext();
|
||||
~MLIRContext();
|
||||
|
||||
/// Return information about all IR dialects loaded in the context.
|
||||
|
@ -88,11 +87,6 @@ public:
|
|||
loadDialect<OtherDialect, MoreDialects...>();
|
||||
}
|
||||
|
||||
/// Deprecated: load all globally registered dialects into this context.
|
||||
/// This method will be removed soon, it can be used temporarily as we're
|
||||
/// phasing out the global registry.
|
||||
void loadAllGloballyRegisteredDialects();
|
||||
|
||||
/// Get (or create) a dialect for the given derived dialect name.
|
||||
/// The dialect will be loaded from the registry if no dialect is found.
|
||||
/// If no dialect is loaded for this name and none is available in the
|
||||
|
|
|
@ -64,13 +64,6 @@ inline void registerAllDialects(DialectRegistry ®istry) {
|
|||
// clang-format on
|
||||
}
|
||||
|
||||
// This function should be called before creating any MLIRContext if one expect
|
||||
// all the possible dialects to be made available to the context automatically.
|
||||
inline void registerAllDialects() {
|
||||
static bool initOnce =
|
||||
([]() { registerAllDialects(getGlobalDialectRegistry()); }(), true);
|
||||
(void)initOnce;
|
||||
}
|
||||
} // namespace mlir
|
||||
|
||||
#endif // MLIR_INITALLDIALECTS_H_
|
||||
|
|
|
@ -26,7 +26,7 @@ using namespace mlir;
|
|||
/* ========================================================================== */
|
||||
|
||||
MlirContext mlirContextCreate() {
|
||||
auto *context = new MLIRContext(/*loadAllDialects=*/false);
|
||||
auto *context = new MLIRContext;
|
||||
return wrap(context);
|
||||
}
|
||||
|
||||
|
|
|
@ -136,7 +136,7 @@ static LogicalResult roundTripModule(ModuleOp srcModule, bool emitDebugInfo,
|
|||
if (failed(spirv::serialize(*spirvModules.begin(), binary, emitDebugInfo)))
|
||||
return failure();
|
||||
|
||||
MLIRContext deserializationContext(false);
|
||||
MLIRContext deserializationContext;
|
||||
context->getDialectRegistry().loadAll(&deserializationContext);
|
||||
// Then deserialize to get back a SPIR-V module.
|
||||
spirv::OwningSPIRVModuleRef spirvModule =
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
#include "mlir/IR/MLIRContext.h"
|
||||
#include "mlir/IR/Module.h"
|
||||
#include "mlir/IR/StandardTypes.h"
|
||||
#include "mlir/InitAllDialects.h"
|
||||
#include "mlir/Parser.h"
|
||||
#include "mlir/Support/FileUtilities.h"
|
||||
|
||||
|
@ -259,8 +260,8 @@ int mlir::JitRunnerMain(
|
|||
}
|
||||
}
|
||||
|
||||
MLIRContext context(/*loadAllDialects=*/false);
|
||||
registerAllDialects(&context);
|
||||
MLIRContext context;
|
||||
registerAllDialects(context.getDialectRegistry());
|
||||
|
||||
auto m = parseMLIRInput(options.inputFilename, &context);
|
||||
if (!m) {
|
||||
|
|
|
@ -22,27 +22,6 @@ using namespace detail;
|
|||
|
||||
DialectAsmParser::~DialectAsmParser() {}
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
// Dialect Registration (DEPRECATED)
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
/// Registry for all dialect allocation functions.
|
||||
static llvm::ManagedStatic<DialectRegistry> dialectRegistry;
|
||||
DialectRegistry &mlir::getGlobalDialectRegistry() { return *dialectRegistry; }
|
||||
|
||||
// Note: deprecated, will be removed soon.
|
||||
static bool isGlobalDialectRegistryEnabledFlag = false;
|
||||
void mlir::enableGlobalDialectRegistry(bool enable) {
|
||||
isGlobalDialectRegistryEnabledFlag = enable;
|
||||
}
|
||||
bool mlir::isGlobalDialectRegistryEnabled() {
|
||||
return isGlobalDialectRegistryEnabledFlag;
|
||||
}
|
||||
|
||||
void mlir::registerAllDialects(MLIRContext *context) {
|
||||
dialectRegistry->appendTo(context->getDialectRegistry());
|
||||
}
|
||||
|
||||
Dialect *DialectRegistry::loadByName(StringRef name, MLIRContext *context) {
|
||||
auto it = registry.find(name.str());
|
||||
if (it == registry.end())
|
||||
|
|
|
@ -361,7 +361,7 @@ public:
|
|||
};
|
||||
} // end namespace mlir
|
||||
|
||||
MLIRContext::MLIRContext(bool loadAllDialects) : impl(new MLIRContextImpl()) {
|
||||
MLIRContext::MLIRContext() : impl(new MLIRContextImpl()) {
|
||||
// Initialize values based on the command line flags if they were provided.
|
||||
if (clOptions.isConstructed()) {
|
||||
disableMultithreading(clOptions->disableThreading);
|
||||
|
@ -369,10 +369,8 @@ MLIRContext::MLIRContext(bool loadAllDialects) : impl(new MLIRContextImpl()) {
|
|||
printStackTraceOnDiagnostic(clOptions->printStackTraceOnDiagnostic);
|
||||
}
|
||||
|
||||
// Register dialects with this context.
|
||||
// Ensure the builtin dialect is always pre-loaded.
|
||||
getOrLoadDialect<BuiltinDialect>();
|
||||
if (loadAllDialects)
|
||||
loadAllGloballyRegisteredDialects();
|
||||
|
||||
// Initialize several common attributes and types to avoid the need to lock
|
||||
// the context when accessing them.
|
||||
|
@ -520,12 +518,6 @@ MLIRContext::getOrLoadDialect(StringRef dialectNamespace, TypeID dialectID,
|
|||
return dialect.get();
|
||||
}
|
||||
|
||||
void MLIRContext::loadAllGloballyRegisteredDialects() {
|
||||
if (!isGlobalDialectRegistryEnabled())
|
||||
return;
|
||||
getGlobalDialectRegistry().loadAll(this);
|
||||
}
|
||||
|
||||
bool MLIRContext::allowsUnregisteredDialects() {
|
||||
return impl->allowUnregisteredDialects;
|
||||
}
|
||||
|
|
|
@ -89,7 +89,7 @@ static LogicalResult processBuffer(raw_ostream &os,
|
|||
sourceMgr.AddNewSourceBuffer(std::move(ownedBuffer), SMLoc());
|
||||
|
||||
// Parse the input file.
|
||||
MLIRContext context(/*loadAllDialects=*/preloadDialectsInContext);
|
||||
MLIRContext context;
|
||||
registry.appendTo(context.getDialectRegistry());
|
||||
if (preloadDialectsInContext)
|
||||
registry.loadAll(&context);
|
||||
|
|
|
@ -175,7 +175,7 @@ LogicalResult mlir::mlirTranslateMain(int argc, char **argv,
|
|||
// Processes the memory buffer with a new MLIRContext.
|
||||
auto processBuffer = [&](std::unique_ptr<llvm::MemoryBuffer> ownedBuffer,
|
||||
raw_ostream &os) {
|
||||
MLIRContext context(false);
|
||||
MLIRContext context;
|
||||
context.printOpOnDiagnostic(!verifyDiagnostics);
|
||||
llvm::SourceMgr sourceMgr;
|
||||
sourceMgr.AddNewSourceBuffer(std::move(ownedBuffer), llvm::SMLoc());
|
||||
|
|
|
@ -36,7 +36,7 @@ using namespace mlir::edsc;
|
|||
using namespace mlir::edsc::intrinsics;
|
||||
|
||||
static MLIRContext &globalContext() {
|
||||
static thread_local MLIRContext context(/*loadAllDialects=*/false);
|
||||
static thread_local MLIRContext context;
|
||||
static thread_local bool initOnce = [&]() {
|
||||
// clang-format off
|
||||
context.loadDialect<AffineDialect,
|
||||
|
|
|
@ -21,7 +21,7 @@ using namespace mlir;
|
|||
|
||||
|
||||
static MLIRContext *ctx() {
|
||||
static thread_local MLIRContext context(/*loadAllDialects=*/false);
|
||||
static thread_local MLIRContext context;
|
||||
static thread_local bool once =
|
||||
(context.getOrLoadDialect<SDBMDialect>(), true);
|
||||
(void)once;
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
#include "llvm/Support/TargetSelect.h"
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
mlir::registerAllDialects();
|
||||
llvm::InitLLVM y(argc, argv);
|
||||
llvm::InitializeNativeTarget();
|
||||
llvm::InitializeNativeTargetAsmPrinter();
|
||||
|
|
|
@ -125,7 +125,6 @@ static LogicalResult runMLIRPasses(ModuleOp m) {
|
|||
|
||||
int main(int argc, char **argv) {
|
||||
registerPassManagerCLOptions();
|
||||
mlir::registerAllDialects();
|
||||
llvm::InitLLVM y(argc, argv);
|
||||
llvm::InitializeNativeTarget();
|
||||
llvm::InitializeNativeTargetAsmPrinter();
|
||||
|
|
|
@ -1757,7 +1757,7 @@ int main(int argc, char **argv) {
|
|||
if (testEmitIncludeTdHeader)
|
||||
output->os() << "include \"mlir/Dialect/Linalg/IR/LinalgStructuredOps.td\"";
|
||||
|
||||
MLIRContext context(/*loadAllDialects=*/false);
|
||||
MLIRContext context;
|
||||
llvm::SourceMgr mgr;
|
||||
mgr.AddNewSourceBuffer(std::move(file), llvm::SMLoc());
|
||||
Parser parser(mgr, &context);
|
||||
|
|
|
@ -144,7 +144,6 @@ void registerTestPasses() {
|
|||
#endif
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
registerAllDialects();
|
||||
registerAllPasses();
|
||||
#ifdef MLIR_INCLUDE_TESTS
|
||||
registerTestPasses();
|
||||
|
|
|
@ -71,7 +71,6 @@ int main(int argc, char **argv) {
|
|||
|
||||
llvm::InitLLVM y(argc, argv);
|
||||
|
||||
registerAllDialects();
|
||||
registerMLIRContextCLOptions();
|
||||
registerPassManagerCLOptions();
|
||||
|
||||
|
|
|
@ -322,7 +322,6 @@ static LogicalResult runMLIRPasses(ModuleOp m) {
|
|||
|
||||
int main(int argc, char **argv) {
|
||||
registerPassManagerCLOptions();
|
||||
mlir::registerAllDialects();
|
||||
llvm::InitLLVM y(argc, argv);
|
||||
llvm::InitializeAllTargetInfos();
|
||||
llvm::InitializeAllTargetMCs();
|
||||
|
|
|
@ -53,7 +53,6 @@ int main(int argc, char **argv) {
|
|||
llvm::llvm_shutdown_obj x;
|
||||
registerPassManagerCLOptions();
|
||||
|
||||
mlir::registerAllDialects();
|
||||
llvm::InitLLVM y(argc, argv);
|
||||
llvm::InitializeNativeTarget();
|
||||
llvm::InitializeNativeTargetAsmPrinter();
|
||||
|
|
|
@ -75,7 +75,7 @@ UniformQuantizedType getTestQuantizedType(Type storageType, MLIRContext *ctx) {
|
|||
}
|
||||
|
||||
TEST(QuantizationUtilsTest, convertFloatAttrUniform) {
|
||||
MLIRContext ctx(/*loadAllDialects=*/false);
|
||||
MLIRContext ctx;
|
||||
ctx.getOrLoadDialect<QuantizationDialect>();
|
||||
IntegerType convertedType = IntegerType::get(8, &ctx);
|
||||
auto quantizedType = getTestQuantizedType(convertedType, &ctx);
|
||||
|
@ -93,7 +93,7 @@ TEST(QuantizationUtilsTest, convertFloatAttrUniform) {
|
|||
}
|
||||
|
||||
TEST(QuantizationUtilsTest, convertRankedDenseAttrUniform) {
|
||||
MLIRContext ctx(/*loadAllDialects=*/false);
|
||||
MLIRContext ctx;
|
||||
ctx.getOrLoadDialect<QuantizationDialect>();
|
||||
IntegerType convertedType = IntegerType::get(8, &ctx);
|
||||
auto quantizedType = getTestQuantizedType(convertedType, &ctx);
|
||||
|
@ -118,7 +118,7 @@ TEST(QuantizationUtilsTest, convertRankedDenseAttrUniform) {
|
|||
}
|
||||
|
||||
TEST(QuantizationUtilsTest, convertRankedSplatAttrUniform) {
|
||||
MLIRContext ctx(/*loadAllDialects=*/false);
|
||||
MLIRContext ctx;
|
||||
ctx.getOrLoadDialect<QuantizationDialect>();
|
||||
IntegerType convertedType = IntegerType::get(8, &ctx);
|
||||
auto quantizedType = getTestQuantizedType(convertedType, &ctx);
|
||||
|
@ -143,7 +143,7 @@ TEST(QuantizationUtilsTest, convertRankedSplatAttrUniform) {
|
|||
}
|
||||
|
||||
TEST(QuantizationUtilsTest, convertRankedSparseAttrUniform) {
|
||||
MLIRContext ctx(/*loadAllDialects=*/false);
|
||||
MLIRContext ctx;
|
||||
ctx.getOrLoadDialect<QuantizationDialect>();
|
||||
IntegerType convertedType = IntegerType::get(8, &ctx);
|
||||
auto quantizedType = getTestQuantizedType(convertedType, &ctx);
|
||||
|
|
|
@ -25,9 +25,6 @@
|
|||
|
||||
using namespace mlir;
|
||||
|
||||
/// Load the SPIRV dialect.
|
||||
static DialectRegistration<spirv::SPIRVDialect> SPIRVRegistration;
|
||||
|
||||
using ::testing::StrEq;
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
@ -38,7 +35,7 @@ using ::testing::StrEq;
|
|||
/// diagnostic checking utilities.
|
||||
class DeserializationTest : public ::testing::Test {
|
||||
protected:
|
||||
DeserializationTest() : context(/*loadAllDialects=*/false) {
|
||||
DeserializationTest() {
|
||||
context.getOrLoadDialect<mlir::spirv::SPIRVDialect>();
|
||||
// Register a diagnostic handler to capture the diagnostic so that we can
|
||||
// check it later.
|
||||
|
|
|
@ -36,7 +36,7 @@ using namespace mlir;
|
|||
|
||||
class SerializationTest : public ::testing::Test {
|
||||
protected:
|
||||
SerializationTest() : context(/*loadAllDialects=*/false) {
|
||||
SerializationTest() {
|
||||
context.getOrLoadDialect<mlir::spirv::SPIRVDialect>();
|
||||
createModuleOp();
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@ static void testSplat(Type eltType, const EltTy &splatElt) {
|
|||
|
||||
namespace {
|
||||
TEST(DenseSplatTest, BoolSplat) {
|
||||
MLIRContext context(false);
|
||||
MLIRContext context;
|
||||
IntegerType boolTy = IntegerType::get(1, &context);
|
||||
RankedTensorType shape = RankedTensorType::get({2, 2}, boolTy);
|
||||
|
||||
|
@ -57,7 +57,7 @@ TEST(DenseSplatTest, BoolSplat) {
|
|||
TEST(DenseSplatTest, LargeBoolSplat) {
|
||||
constexpr int64_t boolCount = 56;
|
||||
|
||||
MLIRContext context(false);
|
||||
MLIRContext context;
|
||||
IntegerType boolTy = IntegerType::get(1, &context);
|
||||
RankedTensorType shape = RankedTensorType::get({boolCount}, boolTy);
|
||||
|
||||
|
@ -80,7 +80,7 @@ TEST(DenseSplatTest, LargeBoolSplat) {
|
|||
}
|
||||
|
||||
TEST(DenseSplatTest, BoolNonSplat) {
|
||||
MLIRContext context(false);
|
||||
MLIRContext context;
|
||||
IntegerType boolTy = IntegerType::get(1, &context);
|
||||
RankedTensorType shape = RankedTensorType::get({6}, boolTy);
|
||||
|
||||
|
@ -92,7 +92,7 @@ TEST(DenseSplatTest, BoolNonSplat) {
|
|||
|
||||
TEST(DenseSplatTest, OddIntSplat) {
|
||||
// Test detecting a splat with an odd(non 8-bit) integer bitwidth.
|
||||
MLIRContext context(false);
|
||||
MLIRContext context;
|
||||
constexpr size_t intWidth = 19;
|
||||
IntegerType intTy = IntegerType::get(intWidth, &context);
|
||||
APInt value(intWidth, 10);
|
||||
|
@ -101,7 +101,7 @@ TEST(DenseSplatTest, OddIntSplat) {
|
|||
}
|
||||
|
||||
TEST(DenseSplatTest, Int32Splat) {
|
||||
MLIRContext context(false);
|
||||
MLIRContext context;
|
||||
IntegerType intTy = IntegerType::get(32, &context);
|
||||
int value = 64;
|
||||
|
||||
|
@ -109,7 +109,7 @@ TEST(DenseSplatTest, Int32Splat) {
|
|||
}
|
||||
|
||||
TEST(DenseSplatTest, IntAttrSplat) {
|
||||
MLIRContext context(false);
|
||||
MLIRContext context;
|
||||
IntegerType intTy = IntegerType::get(85, &context);
|
||||
Attribute value = IntegerAttr::get(intTy, 109);
|
||||
|
||||
|
@ -117,7 +117,7 @@ TEST(DenseSplatTest, IntAttrSplat) {
|
|||
}
|
||||
|
||||
TEST(DenseSplatTest, F32Splat) {
|
||||
MLIRContext context(false);
|
||||
MLIRContext context;
|
||||
FloatType floatTy = FloatType::getF32(&context);
|
||||
float value = 10.0;
|
||||
|
||||
|
@ -125,7 +125,7 @@ TEST(DenseSplatTest, F32Splat) {
|
|||
}
|
||||
|
||||
TEST(DenseSplatTest, F64Splat) {
|
||||
MLIRContext context(false);
|
||||
MLIRContext context;
|
||||
FloatType floatTy = FloatType::getF64(&context);
|
||||
double value = 10.0;
|
||||
|
||||
|
@ -133,7 +133,7 @@ TEST(DenseSplatTest, F64Splat) {
|
|||
}
|
||||
|
||||
TEST(DenseSplatTest, FloatAttrSplat) {
|
||||
MLIRContext context(false);
|
||||
MLIRContext context;
|
||||
FloatType floatTy = FloatType::getF32(&context);
|
||||
Attribute value = FloatAttr::get(floatTy, 10.0);
|
||||
|
||||
|
@ -141,7 +141,7 @@ TEST(DenseSplatTest, FloatAttrSplat) {
|
|||
}
|
||||
|
||||
TEST(DenseSplatTest, BF16Splat) {
|
||||
MLIRContext context(false);
|
||||
MLIRContext context;
|
||||
FloatType floatTy = FloatType::getBF16(&context);
|
||||
Attribute value = FloatAttr::get(floatTy, 10.0);
|
||||
|
||||
|
@ -149,7 +149,7 @@ TEST(DenseSplatTest, BF16Splat) {
|
|||
}
|
||||
|
||||
TEST(DenseSplatTest, StringSplat) {
|
||||
MLIRContext context(false);
|
||||
MLIRContext context;
|
||||
Type stringType =
|
||||
OpaqueType::get(Identifier::get("test", &context), "string", &context);
|
||||
StringRef value = "test-string";
|
||||
|
@ -157,7 +157,7 @@ TEST(DenseSplatTest, StringSplat) {
|
|||
}
|
||||
|
||||
TEST(DenseSplatTest, StringAttrSplat) {
|
||||
MLIRContext context(false);
|
||||
MLIRContext context;
|
||||
Type stringType =
|
||||
OpaqueType::get(Identifier::get("test", &context), "string", &context);
|
||||
Attribute stringAttr = StringAttr::get("test-string", stringType);
|
||||
|
@ -165,28 +165,28 @@ TEST(DenseSplatTest, StringAttrSplat) {
|
|||
}
|
||||
|
||||
TEST(DenseComplexTest, ComplexFloatSplat) {
|
||||
MLIRContext context(false);
|
||||
MLIRContext context;
|
||||
ComplexType complexType = ComplexType::get(FloatType::getF32(&context));
|
||||
std::complex<float> value(10.0, 15.0);
|
||||
testSplat(complexType, value);
|
||||
}
|
||||
|
||||
TEST(DenseComplexTest, ComplexIntSplat) {
|
||||
MLIRContext context(false);
|
||||
MLIRContext context;
|
||||
ComplexType complexType = ComplexType::get(IntegerType::get(64, &context));
|
||||
std::complex<int64_t> value(10, 15);
|
||||
testSplat(complexType, value);
|
||||
}
|
||||
|
||||
TEST(DenseComplexTest, ComplexAPFloatSplat) {
|
||||
MLIRContext context(false);
|
||||
MLIRContext context;
|
||||
ComplexType complexType = ComplexType::get(FloatType::getF32(&context));
|
||||
std::complex<APFloat> value(APFloat(10.0f), APFloat(15.0f));
|
||||
testSplat(complexType, value);
|
||||
}
|
||||
|
||||
TEST(DenseComplexTest, ComplexAPIntSplat) {
|
||||
MLIRContext context(false);
|
||||
MLIRContext context;
|
||||
ComplexType complexType = ComplexType::get(IntegerType::get(64, &context));
|
||||
std::complex<APInt> value(APInt(64, 10), APInt(64, 15));
|
||||
testSplat(complexType, value);
|
||||
|
|
|
@ -26,7 +26,7 @@ struct AnotherTestDialect : public Dialect {
|
|||
};
|
||||
|
||||
TEST(DialectDeathTest, MultipleDialectsWithSameNamespace) {
|
||||
MLIRContext context(false);
|
||||
MLIRContext context;
|
||||
|
||||
// Registering a dialect with the same namespace twice should result in a
|
||||
// failure.
|
||||
|
|
|
@ -26,7 +26,7 @@ static Operation *createOp(MLIRContext *context,
|
|||
|
||||
namespace {
|
||||
TEST(OperandStorageTest, NonResizable) {
|
||||
MLIRContext context(false);
|
||||
MLIRContext context;
|
||||
Builder builder(&context);
|
||||
|
||||
Operation *useOp =
|
||||
|
@ -50,7 +50,7 @@ TEST(OperandStorageTest, NonResizable) {
|
|||
}
|
||||
|
||||
TEST(OperandStorageTest, Resizable) {
|
||||
MLIRContext context(false);
|
||||
MLIRContext context;
|
||||
Builder builder(&context);
|
||||
|
||||
Operation *useOp =
|
||||
|
@ -78,7 +78,7 @@ TEST(OperandStorageTest, Resizable) {
|
|||
}
|
||||
|
||||
TEST(OperandStorageTest, RangeReplace) {
|
||||
MLIRContext context(false);
|
||||
MLIRContext context;
|
||||
Builder builder(&context);
|
||||
|
||||
Operation *useOp =
|
||||
|
@ -114,7 +114,7 @@ TEST(OperandStorageTest, RangeReplace) {
|
|||
}
|
||||
|
||||
TEST(OperandStorageTest, MutableRange) {
|
||||
MLIRContext context(false);
|
||||
MLIRContext context;
|
||||
Builder builder(&context);
|
||||
|
||||
Operation *useOp =
|
||||
|
@ -151,7 +151,7 @@ TEST(OperandStorageTest, MutableRange) {
|
|||
}
|
||||
|
||||
TEST(OperationOrderTest, OrderIsAlwaysValid) {
|
||||
MLIRContext context(false);
|
||||
MLIRContext context;
|
||||
Builder builder(&context);
|
||||
|
||||
Operation *containerOp =
|
||||
|
|
|
@ -29,7 +29,7 @@ struct OpSpecificAnalysis {
|
|||
};
|
||||
|
||||
TEST(AnalysisManagerTest, FineGrainModuleAnalysisPreservation) {
|
||||
MLIRContext context(false);
|
||||
MLIRContext context;
|
||||
|
||||
// Test fine grain invalidation of the module analysis manager.
|
||||
OwningModuleRef module(ModuleOp::create(UnknownLoc::get(&context)));
|
||||
|
@ -50,7 +50,7 @@ TEST(AnalysisManagerTest, FineGrainModuleAnalysisPreservation) {
|
|||
}
|
||||
|
||||
TEST(AnalysisManagerTest, FineGrainFunctionAnalysisPreservation) {
|
||||
MLIRContext context(false);
|
||||
MLIRContext context;
|
||||
Builder builder(&context);
|
||||
|
||||
// Create a function and a module.
|
||||
|
@ -79,7 +79,7 @@ TEST(AnalysisManagerTest, FineGrainFunctionAnalysisPreservation) {
|
|||
}
|
||||
|
||||
TEST(AnalysisManagerTest, FineGrainChildFunctionAnalysisPreservation) {
|
||||
MLIRContext context(false);
|
||||
MLIRContext context;
|
||||
Builder builder(&context);
|
||||
|
||||
// Create a function and a module.
|
||||
|
@ -122,7 +122,7 @@ struct CustomInvalidatingAnalysis {
|
|||
};
|
||||
|
||||
TEST(AnalysisManagerTest, CustomInvalidation) {
|
||||
MLIRContext context(false);
|
||||
MLIRContext context;
|
||||
Builder builder(&context);
|
||||
|
||||
// Create a function and a module.
|
||||
|
|
|
@ -19,7 +19,7 @@ using namespace mlir;
|
|||
|
||||
|
||||
static MLIRContext *ctx() {
|
||||
static thread_local MLIRContext context(false);
|
||||
static thread_local MLIRContext context;
|
||||
context.getOrLoadDialect<SDBMDialect>();
|
||||
return &context;
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@ namespace mlir {
|
|||
//===----------------------------------------------------------------------===//
|
||||
|
||||
static MLIRContext &getContext() {
|
||||
static MLIRContext ctx(false);
|
||||
static MLIRContext ctx;
|
||||
ctx.getOrLoadDialect<TestDialect>();
|
||||
return ctx;
|
||||
}
|
||||
|
|
|
@ -44,7 +44,7 @@ static test::TestStruct getTestStruct(mlir::MLIRContext *context) {
|
|||
/// Validates that test::TestStruct::classof correctly identifies a valid
|
||||
/// test::TestStruct.
|
||||
TEST(StructsGenTest, ClassofTrue) {
|
||||
mlir::MLIRContext context(false);
|
||||
mlir::MLIRContext context;
|
||||
auto structAttr = getTestStruct(&context);
|
||||
ASSERT_TRUE(test::TestStruct::classof(structAttr));
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue