[llvm-branch-commits] [mlir] 8a7ff73 - [mlir] Make MLIRContext::getOrLoadDialect(StringRef, TypeID, ...) public
Mehdi Amini via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Wed Jan 20 16:34:20 PST 2021
Author: mfehr
Date: 2021-01-21T00:29:58Z
New Revision: 8a7ff7301a6ce50f2adf52959c04f37a00c5a631
URL: https://github.com/llvm/llvm-project/commit/8a7ff7301a6ce50f2adf52959c04f37a00c5a631
DIFF: https://github.com/llvm/llvm-project/commit/8a7ff7301a6ce50f2adf52959c04f37a00c5a631.diff
LOG: [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
Added:
Modified:
mlir/include/mlir/IR/MLIRContext.h
Removed:
################################################################################
diff --git a/mlir/include/mlir/IR/MLIRContext.h b/mlir/include/mlir/IR/MLIRContext.h
index e460064a889f..4751f00a36df 100644
--- a/mlir/include/mlir/IR/MLIRContext.h
+++ b/mlir/include/mlir/IR/MLIRContext.h
@@ -156,17 +156,19 @@ class MLIRContext {
void enterMultiThreadedExecution();
void exitMultiThreadedExecution();
-private:
- const std::unique_ptr<MLIRContextImpl> impl;
-
/// Get a dialect for the provided namespace and TypeID: abort the program if
/// a dialect exist for this namespace with
diff erent 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<DialectClass>()'.
Dialect *getOrLoadDialect(StringRef dialectNamespace, TypeID dialectID,
function_ref<std::unique_ptr<Dialect>()> ctor);
+private:
+ const std::unique_ptr<MLIRContextImpl> impl;
+
MLIRContext(const MLIRContext &) = delete;
void operator=(const MLIRContext &) = delete;
};
More information about the llvm-branch-commits
mailing list