From: mfehr Date: Thu, 21 Jan 2021 00:29:51 +0000 (+0000) Subject: [mlir] Make MLIRContext::getOrLoadDialect(StringRef, TypeID, ...) public X-Git-Tag: llvmorg-13-init~636 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8a7ff7301a6ce50f2adf52959c04f37a00c5a631;p=platform%2Fupstream%2Fllvm.git [mlir] Make MLIRContext::getOrLoadDialect(StringRef, TypeID, ...) public Having this function in a public scope is helpful to register dialects that are defined at runtime, and thus that need a runtime-defined TypeID. Also, a similar function in DialectRegistry, insert(TypeID, StringRef, ...), has a public scope. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D95091 --- diff --git a/mlir/include/mlir/IR/MLIRContext.h b/mlir/include/mlir/IR/MLIRContext.h index e460064..4751f00 100644 --- a/mlir/include/mlir/IR/MLIRContext.h +++ b/mlir/include/mlir/IR/MLIRContext.h @@ -156,17 +156,19 @@ public: void enterMultiThreadedExecution(); void exitMultiThreadedExecution(); -private: - const std::unique_ptr impl; - /// Get a dialect for the provided namespace and TypeID: abort the program if /// a dialect exist for this namespace with different TypeID. If a dialect has /// not been loaded for this namespace/TypeID yet, use the provided ctor to /// create one on the fly and load it. Returns a pointer to the dialect owned /// by the context. + /// The use of this method is in general discouraged in favor of + /// 'getOrLoadDialect()'. Dialect *getOrLoadDialect(StringRef dialectNamespace, TypeID dialectID, function_ref()> ctor); +private: + const std::unique_ptr impl; + MLIRContext(const MLIRContext &) = delete; void operator=(const MLIRContext &) = delete; };