[Mlir-commits] [mlir] 8f66ab1 - Replace OwningModuleRef with OwningOpRef<ModuleOp>
Sanjoy Das
llvmlistbot at llvm.org
Sun Jan 30 14:13:44 PST 2022
Author: Sanjoy Das
Date: 2022-01-30T14:07:10-08:00
New Revision: 8f66ab1c2e00ca3e94dbdd2e435fbf0fe28bbee9
URL: https://github.com/llvm/llvm-project/commit/8f66ab1c2e00ca3e94dbdd2e435fbf0fe28bbee9
DIFF: https://github.com/llvm/llvm-project/commit/8f66ab1c2e00ca3e94dbdd2e435fbf0fe28bbee9.diff
LOG: Replace OwningModuleRef with OwningOpRef<ModuleOp>
This addresses a TODO in BuiltinOps.h.
Reviewed By: rriddle
Differential Revision: https://reviews.llvm.org/D118574
Added:
Modified:
mlir/examples/toy/Ch2/include/toy/MLIRGen.h
mlir/examples/toy/Ch2/mlir/MLIRGen.cpp
mlir/examples/toy/Ch2/toyc.cpp
mlir/examples/toy/Ch3/include/toy/MLIRGen.h
mlir/examples/toy/Ch3/mlir/MLIRGen.cpp
mlir/examples/toy/Ch3/toyc.cpp
mlir/examples/toy/Ch4/include/toy/MLIRGen.h
mlir/examples/toy/Ch4/mlir/MLIRGen.cpp
mlir/examples/toy/Ch4/toyc.cpp
mlir/examples/toy/Ch5/include/toy/MLIRGen.h
mlir/examples/toy/Ch5/mlir/MLIRGen.cpp
mlir/examples/toy/Ch5/toyc.cpp
mlir/examples/toy/Ch6/include/toy/MLIRGen.h
mlir/examples/toy/Ch6/mlir/MLIRGen.cpp
mlir/examples/toy/Ch6/toyc.cpp
mlir/examples/toy/Ch7/include/toy/MLIRGen.h
mlir/examples/toy/Ch7/mlir/MLIRGen.cpp
mlir/examples/toy/Ch7/toyc.cpp
mlir/include/mlir/IR/BuiltinOps.h
mlir/include/mlir/IR/PatternMatch.h
mlir/include/mlir/Parser.h
mlir/include/mlir/Target/LLVMIR/Import.h
mlir/include/mlir/Translation.h
mlir/lib/CAPI/IR/IR.cpp
mlir/lib/ExecutionEngine/JitRunner.cpp
mlir/lib/Support/MlirOptMain.cpp
mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
mlir/lib/Target/SPIRV/TranslateRegistration.cpp
mlir/lib/Translation/Translation.cpp
mlir/unittests/ExecutionEngine/Invoke.cpp
mlir/unittests/Interfaces/ControlFlowInterfacesTest.cpp
mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp
mlir/unittests/Interfaces/InferTypeOpInterfaceTest.cpp
mlir/unittests/Pass/AnalysisManagerTest.cpp
mlir/unittests/Pass/PassManagerTest.cpp
mlir/unittests/Transforms/Canonicalizer.cpp
Removed:
################################################################################
diff --git a/mlir/examples/toy/Ch2/include/toy/MLIRGen.h b/mlir/examples/toy/Ch2/include/toy/MLIRGen.h
index ca91872dadc68..fe9dbe55c28b8 100644
--- a/mlir/examples/toy/Ch2/include/toy/MLIRGen.h
+++ b/mlir/examples/toy/Ch2/include/toy/MLIRGen.h
@@ -18,7 +18,9 @@
namespace mlir {
class MLIRContext;
-class OwningModuleRef;
+template <typename OpTy>
+class OwningOpRef;
+class ModuleOp;
} // namespace mlir
namespace toy {
@@ -26,7 +28,8 @@ class ModuleAST;
/// Emit IR for the given Toy moduleAST, returns a newly created MLIR module
/// or nullptr on failure.
-mlir::OwningModuleRef mlirGen(mlir::MLIRContext &context, ModuleAST &moduleAST);
+mlir::OwningOpRef<mlir::ModuleOp> mlirGen(mlir::MLIRContext &context,
+ ModuleAST &moduleAST);
} // namespace toy
#endif // TOY_MLIRGEN_H
diff --git a/mlir/examples/toy/Ch2/mlir/MLIRGen.cpp b/mlir/examples/toy/Ch2/mlir/MLIRGen.cpp
index f00400ec6a992..b7b573672fc74 100644
--- a/mlir/examples/toy/Ch2/mlir/MLIRGen.cpp
+++ b/mlir/examples/toy/Ch2/mlir/MLIRGen.cpp
@@ -443,8 +443,8 @@ class MLIRGenImpl {
namespace toy {
// The public API for codegen.
-mlir::OwningModuleRef mlirGen(mlir::MLIRContext &context,
- ModuleAST &moduleAST) {
+mlir::OwningOpRef<mlir::ModuleOp> mlirGen(mlir::MLIRContext &context,
+ ModuleAST &moduleAST) {
return MLIRGenImpl(context).mlirGen(moduleAST);
}
diff --git a/mlir/examples/toy/Ch2/toyc.cpp b/mlir/examples/toy/Ch2/toyc.cpp
index 9936851ba2ced..5f817dbdff3e2 100644
--- a/mlir/examples/toy/Ch2/toyc.cpp
+++ b/mlir/examples/toy/Ch2/toyc.cpp
@@ -78,7 +78,7 @@ int dumpMLIR() {
auto moduleAST = parseInputFile(inputFilename);
if (!moduleAST)
return 6;
- mlir::OwningModuleRef module = mlirGen(context, *moduleAST);
+ mlir::OwningOpRef<mlir::ModuleOp> module = mlirGen(context, *moduleAST);
if (!module)
return 1;
@@ -97,7 +97,8 @@ int dumpMLIR() {
// Parse the input mlir.
llvm::SourceMgr sourceMgr;
sourceMgr.AddNewSourceBuffer(std::move(*fileOrErr), llvm::SMLoc());
- mlir::OwningModuleRef module = mlir::parseSourceFile(sourceMgr, &context);
+ mlir::OwningOpRef<mlir::ModuleOp> module =
+ mlir::parseSourceFile(sourceMgr, &context);
if (!module) {
llvm::errs() << "Error can't load file " << inputFilename << "\n";
return 3;
diff --git a/mlir/examples/toy/Ch3/include/toy/MLIRGen.h b/mlir/examples/toy/Ch3/include/toy/MLIRGen.h
index ca91872dadc68..fe9dbe55c28b8 100644
--- a/mlir/examples/toy/Ch3/include/toy/MLIRGen.h
+++ b/mlir/examples/toy/Ch3/include/toy/MLIRGen.h
@@ -18,7 +18,9 @@
namespace mlir {
class MLIRContext;
-class OwningModuleRef;
+template <typename OpTy>
+class OwningOpRef;
+class ModuleOp;
} // namespace mlir
namespace toy {
@@ -26,7 +28,8 @@ class ModuleAST;
/// Emit IR for the given Toy moduleAST, returns a newly created MLIR module
/// or nullptr on failure.
-mlir::OwningModuleRef mlirGen(mlir::MLIRContext &context, ModuleAST &moduleAST);
+mlir::OwningOpRef<mlir::ModuleOp> mlirGen(mlir::MLIRContext &context,
+ ModuleAST &moduleAST);
} // namespace toy
#endif // TOY_MLIRGEN_H
diff --git a/mlir/examples/toy/Ch3/mlir/MLIRGen.cpp b/mlir/examples/toy/Ch3/mlir/MLIRGen.cpp
index f00400ec6a992..b7b573672fc74 100644
--- a/mlir/examples/toy/Ch3/mlir/MLIRGen.cpp
+++ b/mlir/examples/toy/Ch3/mlir/MLIRGen.cpp
@@ -443,8 +443,8 @@ class MLIRGenImpl {
namespace toy {
// The public API for codegen.
-mlir::OwningModuleRef mlirGen(mlir::MLIRContext &context,
- ModuleAST &moduleAST) {
+mlir::OwningOpRef<mlir::ModuleOp> mlirGen(mlir::MLIRContext &context,
+ ModuleAST &moduleAST) {
return MLIRGenImpl(context).mlirGen(moduleAST);
}
diff --git a/mlir/examples/toy/Ch3/toyc.cpp b/mlir/examples/toy/Ch3/toyc.cpp
index daa59908df71a..4437e4cdac60e 100644
--- a/mlir/examples/toy/Ch3/toyc.cpp
+++ b/mlir/examples/toy/Ch3/toyc.cpp
@@ -72,7 +72,7 @@ std::unique_ptr<toy::ModuleAST> parseInputFile(llvm::StringRef filename) {
}
int loadMLIR(llvm::SourceMgr &sourceMgr, mlir::MLIRContext &context,
- mlir::OwningModuleRef &module) {
+ mlir::OwningOpRef<mlir::ModuleOp> &module) {
// Handle '.toy' input to the compiler.
if (inputType != InputType::MLIR &&
!llvm::StringRef(inputFilename).endswith(".mlir")) {
@@ -106,7 +106,7 @@ int dumpMLIR() {
// Load our Dialect in this MLIR Context.
context.getOrLoadDialect<mlir::toy::ToyDialect>();
- mlir::OwningModuleRef module;
+ mlir::OwningOpRef<mlir::ModuleOp> module;
llvm::SourceMgr sourceMgr;
mlir::SourceMgrDiagnosticHandler sourceMgrHandler(sourceMgr, &context);
if (int error = loadMLIR(sourceMgr, context, module))
diff --git a/mlir/examples/toy/Ch4/include/toy/MLIRGen.h b/mlir/examples/toy/Ch4/include/toy/MLIRGen.h
index ca91872dadc68..fe9dbe55c28b8 100644
--- a/mlir/examples/toy/Ch4/include/toy/MLIRGen.h
+++ b/mlir/examples/toy/Ch4/include/toy/MLIRGen.h
@@ -18,7 +18,9 @@
namespace mlir {
class MLIRContext;
-class OwningModuleRef;
+template <typename OpTy>
+class OwningOpRef;
+class ModuleOp;
} // namespace mlir
namespace toy {
@@ -26,7 +28,8 @@ class ModuleAST;
/// Emit IR for the given Toy moduleAST, returns a newly created MLIR module
/// or nullptr on failure.
-mlir::OwningModuleRef mlirGen(mlir::MLIRContext &context, ModuleAST &moduleAST);
+mlir::OwningOpRef<mlir::ModuleOp> mlirGen(mlir::MLIRContext &context,
+ ModuleAST &moduleAST);
} // namespace toy
#endif // TOY_MLIRGEN_H
diff --git a/mlir/examples/toy/Ch4/mlir/MLIRGen.cpp b/mlir/examples/toy/Ch4/mlir/MLIRGen.cpp
index 5260652aa6190..91b2d4db06cee 100644
--- a/mlir/examples/toy/Ch4/mlir/MLIRGen.cpp
+++ b/mlir/examples/toy/Ch4/mlir/MLIRGen.cpp
@@ -447,8 +447,8 @@ class MLIRGenImpl {
namespace toy {
// The public API for codegen.
-mlir::OwningModuleRef mlirGen(mlir::MLIRContext &context,
- ModuleAST &moduleAST) {
+mlir::OwningOpRef<mlir::ModuleOp> mlirGen(mlir::MLIRContext &context,
+ ModuleAST &moduleAST) {
return MLIRGenImpl(context).mlirGen(moduleAST);
}
diff --git a/mlir/examples/toy/Ch4/toyc.cpp b/mlir/examples/toy/Ch4/toyc.cpp
index 1a4923fb86539..f8c3fda432250 100644
--- a/mlir/examples/toy/Ch4/toyc.cpp
+++ b/mlir/examples/toy/Ch4/toyc.cpp
@@ -73,7 +73,7 @@ std::unique_ptr<toy::ModuleAST> parseInputFile(llvm::StringRef filename) {
}
int loadMLIR(llvm::SourceMgr &sourceMgr, mlir::MLIRContext &context,
- mlir::OwningModuleRef &module) {
+ mlir::OwningOpRef<mlir::ModuleOp> &module) {
// Handle '.toy' input to the compiler.
if (inputType != InputType::MLIR &&
!llvm::StringRef(inputFilename).endswith(".mlir")) {
@@ -107,7 +107,7 @@ int dumpMLIR() {
// Load our Dialect in this MLIR Context.
context.getOrLoadDialect<mlir::toy::ToyDialect>();
- mlir::OwningModuleRef module;
+ mlir::OwningOpRef<mlir::ModuleOp> module;
llvm::SourceMgr sourceMgr;
mlir::SourceMgrDiagnosticHandler sourceMgrHandler(sourceMgr, &context);
if (int error = loadMLIR(sourceMgr, context, module))
diff --git a/mlir/examples/toy/Ch5/include/toy/MLIRGen.h b/mlir/examples/toy/Ch5/include/toy/MLIRGen.h
index ca91872dadc68..fe9dbe55c28b8 100644
--- a/mlir/examples/toy/Ch5/include/toy/MLIRGen.h
+++ b/mlir/examples/toy/Ch5/include/toy/MLIRGen.h
@@ -18,7 +18,9 @@
namespace mlir {
class MLIRContext;
-class OwningModuleRef;
+template <typename OpTy>
+class OwningOpRef;
+class ModuleOp;
} // namespace mlir
namespace toy {
@@ -26,7 +28,8 @@ class ModuleAST;
/// Emit IR for the given Toy moduleAST, returns a newly created MLIR module
/// or nullptr on failure.
-mlir::OwningModuleRef mlirGen(mlir::MLIRContext &context, ModuleAST &moduleAST);
+mlir::OwningOpRef<mlir::ModuleOp> mlirGen(mlir::MLIRContext &context,
+ ModuleAST &moduleAST);
} // namespace toy
#endif // TOY_MLIRGEN_H
diff --git a/mlir/examples/toy/Ch5/mlir/MLIRGen.cpp b/mlir/examples/toy/Ch5/mlir/MLIRGen.cpp
index 5260652aa6190..91b2d4db06cee 100644
--- a/mlir/examples/toy/Ch5/mlir/MLIRGen.cpp
+++ b/mlir/examples/toy/Ch5/mlir/MLIRGen.cpp
@@ -447,8 +447,8 @@ class MLIRGenImpl {
namespace toy {
// The public API for codegen.
-mlir::OwningModuleRef mlirGen(mlir::MLIRContext &context,
- ModuleAST &moduleAST) {
+mlir::OwningOpRef<mlir::ModuleOp> mlirGen(mlir::MLIRContext &context,
+ ModuleAST &moduleAST) {
return MLIRGenImpl(context).mlirGen(moduleAST);
}
diff --git a/mlir/examples/toy/Ch5/toyc.cpp b/mlir/examples/toy/Ch5/toyc.cpp
index c0431cc52fc7f..76fc00fbf463f 100644
--- a/mlir/examples/toy/Ch5/toyc.cpp
+++ b/mlir/examples/toy/Ch5/toyc.cpp
@@ -77,7 +77,7 @@ std::unique_ptr<toy::ModuleAST> parseInputFile(llvm::StringRef filename) {
}
int loadMLIR(llvm::SourceMgr &sourceMgr, mlir::MLIRContext &context,
- mlir::OwningModuleRef &module) {
+ mlir::OwningOpRef<mlir::ModuleOp> &module) {
// Handle '.toy' input to the compiler.
if (inputType != InputType::MLIR &&
!llvm::StringRef(inputFilename).endswith(".mlir")) {
@@ -111,7 +111,7 @@ int dumpMLIR() {
// Load our Dialect in this MLIR Context.
context.getOrLoadDialect<mlir::toy::ToyDialect>();
- mlir::OwningModuleRef module;
+ mlir::OwningOpRef<mlir::ModuleOp> module;
llvm::SourceMgr sourceMgr;
mlir::SourceMgrDiagnosticHandler sourceMgrHandler(sourceMgr, &context);
if (int error = loadMLIR(sourceMgr, context, module))
diff --git a/mlir/examples/toy/Ch6/include/toy/MLIRGen.h b/mlir/examples/toy/Ch6/include/toy/MLIRGen.h
index ca91872dadc68..fe9dbe55c28b8 100644
--- a/mlir/examples/toy/Ch6/include/toy/MLIRGen.h
+++ b/mlir/examples/toy/Ch6/include/toy/MLIRGen.h
@@ -18,7 +18,9 @@
namespace mlir {
class MLIRContext;
-class OwningModuleRef;
+template <typename OpTy>
+class OwningOpRef;
+class ModuleOp;
} // namespace mlir
namespace toy {
@@ -26,7 +28,8 @@ class ModuleAST;
/// Emit IR for the given Toy moduleAST, returns a newly created MLIR module
/// or nullptr on failure.
-mlir::OwningModuleRef mlirGen(mlir::MLIRContext &context, ModuleAST &moduleAST);
+mlir::OwningOpRef<mlir::ModuleOp> mlirGen(mlir::MLIRContext &context,
+ ModuleAST &moduleAST);
} // namespace toy
#endif // TOY_MLIRGEN_H
diff --git a/mlir/examples/toy/Ch6/mlir/MLIRGen.cpp b/mlir/examples/toy/Ch6/mlir/MLIRGen.cpp
index 5260652aa6190..91b2d4db06cee 100644
--- a/mlir/examples/toy/Ch6/mlir/MLIRGen.cpp
+++ b/mlir/examples/toy/Ch6/mlir/MLIRGen.cpp
@@ -447,8 +447,8 @@ class MLIRGenImpl {
namespace toy {
// The public API for codegen.
-mlir::OwningModuleRef mlirGen(mlir::MLIRContext &context,
- ModuleAST &moduleAST) {
+mlir::OwningOpRef<mlir::ModuleOp> mlirGen(mlir::MLIRContext &context,
+ ModuleAST &moduleAST) {
return MLIRGenImpl(context).mlirGen(moduleAST);
}
diff --git a/mlir/examples/toy/Ch6/toyc.cpp b/mlir/examples/toy/Ch6/toyc.cpp
index 54c91d2d00b57..95b0789a01462 100644
--- a/mlir/examples/toy/Ch6/toyc.cpp
+++ b/mlir/examples/toy/Ch6/toyc.cpp
@@ -96,7 +96,8 @@ std::unique_ptr<toy::ModuleAST> parseInputFile(llvm::StringRef filename) {
return parser.parseModule();
}
-int loadMLIR(mlir::MLIRContext &context, mlir::OwningModuleRef &module) {
+int loadMLIR(mlir::MLIRContext &context,
+ mlir::OwningOpRef<mlir::ModuleOp> &module) {
// Handle '.toy' input to the compiler.
if (inputType != InputType::MLIR &&
!llvm::StringRef(inputFilename).endswith(".mlir")) {
@@ -127,7 +128,7 @@ int loadMLIR(mlir::MLIRContext &context, mlir::OwningModuleRef &module) {
}
int loadAndProcessMLIR(mlir::MLIRContext &context,
- mlir::OwningModuleRef &module) {
+ mlir::OwningOpRef<mlir::ModuleOp> &module) {
if (int error = loadMLIR(context, module))
return error;
@@ -267,7 +268,7 @@ int main(int argc, char **argv) {
// Load our Dialect in this MLIR Context.
context.getOrLoadDialect<mlir::toy::ToyDialect>();
- mlir::OwningModuleRef module;
+ mlir::OwningOpRef<mlir::ModuleOp> module;
if (int error = loadAndProcessMLIR(context, module))
return error;
diff --git a/mlir/examples/toy/Ch7/include/toy/MLIRGen.h b/mlir/examples/toy/Ch7/include/toy/MLIRGen.h
index ca91872dadc68..fe9dbe55c28b8 100644
--- a/mlir/examples/toy/Ch7/include/toy/MLIRGen.h
+++ b/mlir/examples/toy/Ch7/include/toy/MLIRGen.h
@@ -18,7 +18,9 @@
namespace mlir {
class MLIRContext;
-class OwningModuleRef;
+template <typename OpTy>
+class OwningOpRef;
+class ModuleOp;
} // namespace mlir
namespace toy {
@@ -26,7 +28,8 @@ class ModuleAST;
/// Emit IR for the given Toy moduleAST, returns a newly created MLIR module
/// or nullptr on failure.
-mlir::OwningModuleRef mlirGen(mlir::MLIRContext &context, ModuleAST &moduleAST);
+mlir::OwningOpRef<mlir::ModuleOp> mlirGen(mlir::MLIRContext &context,
+ ModuleAST &moduleAST);
} // namespace toy
#endif // TOY_MLIRGEN_H
diff --git a/mlir/examples/toy/Ch7/mlir/MLIRGen.cpp b/mlir/examples/toy/Ch7/mlir/MLIRGen.cpp
index f49f808310917..ead7e275270bf 100644
--- a/mlir/examples/toy/Ch7/mlir/MLIRGen.cpp
+++ b/mlir/examples/toy/Ch7/mlir/MLIRGen.cpp
@@ -669,8 +669,8 @@ class MLIRGenImpl {
namespace toy {
// The public API for codegen.
-mlir::OwningModuleRef mlirGen(mlir::MLIRContext &context,
- ModuleAST &moduleAST) {
+mlir::OwningOpRef<mlir::ModuleOp> mlirGen(mlir::MLIRContext &context,
+ ModuleAST &moduleAST) {
return MLIRGenImpl(context).mlirGen(moduleAST);
}
diff --git a/mlir/examples/toy/Ch7/toyc.cpp b/mlir/examples/toy/Ch7/toyc.cpp
index 1c3b756f02a9d..ce8a0f0f432a7 100644
--- a/mlir/examples/toy/Ch7/toyc.cpp
+++ b/mlir/examples/toy/Ch7/toyc.cpp
@@ -96,7 +96,8 @@ std::unique_ptr<toy::ModuleAST> parseInputFile(llvm::StringRef filename) {
return parser.parseModule();
}
-int loadMLIR(mlir::MLIRContext &context, mlir::OwningModuleRef &module) {
+int loadMLIR(mlir::MLIRContext &context,
+ mlir::OwningOpRef<mlir::ModuleOp> &module) {
// Handle '.toy' input to the compiler.
if (inputType != InputType::MLIR &&
!llvm::StringRef(inputFilename).endswith(".mlir")) {
@@ -127,7 +128,7 @@ int loadMLIR(mlir::MLIRContext &context, mlir::OwningModuleRef &module) {
}
int loadAndProcessMLIR(mlir::MLIRContext &context,
- mlir::OwningModuleRef &module) {
+ mlir::OwningOpRef<mlir::ModuleOp> &module) {
if (int error = loadMLIR(context, module))
return error;
@@ -268,7 +269,7 @@ int main(int argc, char **argv) {
// Load our Dialect in this MLIR Context.
context.getOrLoadDialect<mlir::toy::ToyDialect>();
- mlir::OwningModuleRef module;
+ mlir::OwningOpRef<mlir::ModuleOp> module;
if (int error = loadAndProcessMLIR(context, module))
return error;
diff --git a/mlir/include/mlir/IR/BuiltinOps.h b/mlir/include/mlir/IR/BuiltinOps.h
index 7cf364ee84fc0..99bc09166e83f 100644
--- a/mlir/include/mlir/IR/BuiltinOps.h
+++ b/mlir/include/mlir/IR/BuiltinOps.h
@@ -31,23 +31,6 @@
#define GET_OP_CLASSES
#include "mlir/IR/BuiltinOps.h.inc"
-//===----------------------------------------------------------------------===//
-// Dialect Utilities
-//===----------------------------------------------------------------------===//
-
-namespace mlir {
-/// This class acts as an owning reference to a module, and will automatically
-/// destroy the held module on destruction if the held module is valid.
-// TODO: Remove this class in favor of using OwningOpRef directly.
-class OwningModuleRef : public OwningOpRef<ModuleOp> {
-public:
- using OwningOpRef<ModuleOp>::OwningOpRef;
- OwningModuleRef() = default;
- OwningModuleRef(OwningOpRef<ModuleOp> &&other)
- : OwningOpRef<ModuleOp>(std::move(other)) {}
-};
-} // namespace mlir
-
namespace llvm {
/// Allow stealing the low bits of FuncOp.
template <>
diff --git a/mlir/include/mlir/IR/PatternMatch.h b/mlir/include/mlir/IR/PatternMatch.h
index a53c1f3c69c52..4f728c2e30644 100644
--- a/mlir/include/mlir/IR/PatternMatch.h
+++ b/mlir/include/mlir/IR/PatternMatch.h
@@ -612,7 +612,7 @@ class PDLPatternModule {
PDLPatternModule() = default;
/// Construct a PDL pattern with the given module.
- PDLPatternModule(OwningModuleRef pdlModule)
+ PDLPatternModule(OwningOpRef<ModuleOp> pdlModule)
: pdlModule(std::move(pdlModule)) {}
/// Merge the state in `other` into this pattern module.
@@ -669,7 +669,7 @@ class PDLPatternModule {
private:
/// The module containing the `pdl.pattern` operations.
- OwningModuleRef pdlModule;
+ OwningOpRef<ModuleOp> pdlModule;
/// The external functions referenced from within the PDL module.
llvm::StringMap<PDLConstraintFunction> constraintFunctions;
diff --git a/mlir/include/mlir/Parser.h b/mlir/include/mlir/Parser.h
index 443fbb76d7c00..908c1188a96ee 100644
--- a/mlir/include/mlir/Parser.h
+++ b/mlir/include/mlir/Parser.h
@@ -206,21 +206,21 @@ inline OwningOpRef<ContainerOpT> parseSourceString(llvm::StringRef sourceStr,
/// TODO: These methods are deprecated in favor of the above template versions.
/// They should be removed when usages have been updated.
-inline OwningModuleRef parseSourceFile(const llvm::SourceMgr &sourceMgr,
- MLIRContext *context) {
+inline OwningOpRef<ModuleOp> parseSourceFile(const llvm::SourceMgr &sourceMgr,
+ MLIRContext *context) {
return parseSourceFile<ModuleOp>(sourceMgr, context);
}
-inline OwningModuleRef parseSourceFile(llvm::StringRef filename,
- MLIRContext *context) {
+inline OwningOpRef<ModuleOp> parseSourceFile(llvm::StringRef filename,
+ MLIRContext *context) {
return parseSourceFile<ModuleOp>(filename, context);
}
-inline OwningModuleRef parseSourceFile(llvm::StringRef filename,
- llvm::SourceMgr &sourceMgr,
- MLIRContext *context) {
+inline OwningOpRef<ModuleOp> parseSourceFile(llvm::StringRef filename,
+ llvm::SourceMgr &sourceMgr,
+ MLIRContext *context) {
return parseSourceFile<ModuleOp>(filename, sourceMgr, context);
}
-inline OwningModuleRef parseSourceString(llvm::StringRef moduleStr,
- MLIRContext *context) {
+inline OwningOpRef<ModuleOp> parseSourceString(llvm::StringRef moduleStr,
+ MLIRContext *context) {
return parseSourceString<ModuleOp>(moduleStr, context);
}
diff --git a/mlir/include/mlir/Target/LLVMIR/Import.h b/mlir/include/mlir/Target/LLVMIR/Import.h
index ef8bd9f7ca40d..fa8f9f23f4247 100644
--- a/mlir/include/mlir/Target/LLVMIR/Import.h
+++ b/mlir/include/mlir/Target/LLVMIR/Import.h
@@ -25,14 +25,14 @@ class Module;
namespace mlir {
class DialectRegistry;
-class OwningModuleRef;
+
class MLIRContext;
/// Convert the given LLVM module into MLIR's LLVM dialect. The LLVM context is
/// extracted from the registered LLVM IR dialect. In case of error, report it
/// to the error handler registered with the MLIR context, if any (obtained from
/// the MLIR module), and return `{}`.
-OwningModuleRef
+OwningOpRef<ModuleOp>
translateLLVMIRToModule(std::unique_ptr<llvm::Module> llvmModule,
MLIRContext *context);
diff --git a/mlir/include/mlir/Translation.h b/mlir/include/mlir/Translation.h
index 61b6fc8037344..202681c8c6021 100644
--- a/mlir/include/mlir/Translation.h
+++ b/mlir/include/mlir/Translation.h
@@ -25,21 +25,22 @@ class DialectRegistry;
struct LogicalResult;
class MLIRContext;
class ModuleOp;
-class OwningModuleRef;
+template <typename OpTy>
+class OwningOpRef;
/// Interface of the function that translates the sources managed by `sourceMgr`
/// to MLIR. The source manager has at least one buffer. The implementation
/// should create a new MLIR ModuleOp in the given context and return a pointer
/// to it, or a nullptr in case of any error.
-using TranslateSourceMgrToMLIRFunction =
- std::function<OwningModuleRef(llvm::SourceMgr &sourceMgr, MLIRContext *)>;
+using TranslateSourceMgrToMLIRFunction = std::function<OwningOpRef<ModuleOp>(
+ llvm::SourceMgr &sourceMgr, MLIRContext *)>;
/// Interface of the function that translates the given string to MLIR. The
/// implementation should create a new MLIR ModuleOp in the given context. If
/// source-related error reporting is required from within the function, use
/// TranslateSourceMgrToMLIRFunction instead.
using TranslateStringRefToMLIRFunction =
- std::function<OwningModuleRef(llvm::StringRef, MLIRContext *)>;
+ std::function<OwningOpRef<ModuleOp>(llvm::StringRef, MLIRContext *)>;
/// Interface of the function that translates MLIR to a
diff erent format and
/// outputs the result to a stream. It is allowed to modify the module.
diff --git a/mlir/lib/CAPI/IR/IR.cpp b/mlir/lib/CAPI/IR/IR.cpp
index 9b60b11fe463e..26af65ec75b6a 100644
--- a/mlir/lib/CAPI/IR/IR.cpp
+++ b/mlir/lib/CAPI/IR/IR.cpp
@@ -177,7 +177,8 @@ MlirModule mlirModuleCreateEmpty(MlirLocation location) {
}
MlirModule mlirModuleCreateParse(MlirContext context, MlirStringRef module) {
- OwningModuleRef owning = parseSourceString(unwrap(module), unwrap(context));
+ OwningOpRef<ModuleOp> owning =
+ parseSourceString(unwrap(module), unwrap(context));
if (!owning)
return MlirModule{nullptr};
return MlirModule{owning.release().getOperation()};
@@ -192,8 +193,9 @@ MlirBlock mlirModuleGetBody(MlirModule module) {
}
void mlirModuleDestroy(MlirModule module) {
- // Transfer ownership to an OwningModuleRef so that its destructor is called.
- OwningModuleRef(unwrap(module));
+ // Transfer ownership to an OwningOpRef<ModuleOp> so that its destructor is
+ // called.
+ OwningOpRef<ModuleOp>(unwrap(module));
}
MlirOperation mlirModuleGetOperation(MlirModule module) {
diff --git a/mlir/lib/ExecutionEngine/JitRunner.cpp b/mlir/lib/ExecutionEngine/JitRunner.cpp
index af23d41c1bf77..37e5e93e2b7ea 100644
--- a/mlir/lib/ExecutionEngine/JitRunner.cpp
+++ b/mlir/lib/ExecutionEngine/JitRunner.cpp
@@ -110,8 +110,8 @@ struct CompileAndExecuteConfig {
} // namespace
-static OwningModuleRef parseMLIRInput(StringRef inputFilename,
- MLIRContext *context) {
+static OwningOpRef<ModuleOp> parseMLIRInput(StringRef inputFilename,
+ MLIRContext *context) {
// Set up the input file.
std::string errorMessage;
auto file = openInputFile(inputFilename, &errorMessage);
@@ -122,7 +122,7 @@ static OwningModuleRef parseMLIRInput(StringRef inputFilename,
llvm::SourceMgr sourceMgr;
sourceMgr.AddNewSourceBuffer(std::move(file), SMLoc());
- return OwningModuleRef(parseSourceFile(sourceMgr, context));
+ return OwningOpRef<ModuleOp>(parseSourceFile(sourceMgr, context));
}
static inline Error makeStringError(const Twine &message) {
diff --git a/mlir/lib/Support/MlirOptMain.cpp b/mlir/lib/Support/MlirOptMain.cpp
index 6fa9a6657adce..b567097a9e0cb 100644
--- a/mlir/lib/Support/MlirOptMain.cpp
+++ b/mlir/lib/Support/MlirOptMain.cpp
@@ -59,7 +59,7 @@ static LogicalResult performActions(raw_ostream &os, bool verifyDiagnostics,
// Parse the input file and reset the context threading state.
TimingScope parserTiming = timing.nest("Parser");
- OwningModuleRef module(parseSourceFile(sourceMgr, context));
+ OwningOpRef<ModuleOp> module(parseSourceFile(sourceMgr, context));
context->enableMultithreading(wasThreadingEnabled);
if (!module)
return failure();
diff --git a/mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp b/mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
index a41304200a307..7a4b2846bebd7 100644
--- a/mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
+++ b/mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
@@ -854,11 +854,11 @@ LogicalResult Importer::processBasicBlock(llvm::BasicBlock *bb, Block *block) {
return success();
}
-OwningModuleRef
+OwningOpRef<ModuleOp>
mlir::translateLLVMIRToModule(std::unique_ptr<llvm::Module> llvmModule,
MLIRContext *context) {
context->loadDialect<LLVMDialect>();
- OwningModuleRef module(ModuleOp::create(
+ OwningOpRef<ModuleOp> module(ModuleOp::create(
FileLineColLoc::get(context, "", /*line=*/0, /*column=*/0)));
Importer deserializer(context, module.get());
@@ -876,8 +876,8 @@ mlir::translateLLVMIRToModule(std::unique_ptr<llvm::Module> llvmModule,
// Deserializes the LLVM bitcode stored in `input` into an MLIR module in the
// LLVM dialect.
-OwningModuleRef translateLLVMIRToModule(llvm::SourceMgr &sourceMgr,
- MLIRContext *context) {
+OwningOpRef<ModuleOp> translateLLVMIRToModule(llvm::SourceMgr &sourceMgr,
+ MLIRContext *context) {
llvm::SMDiagnostic err;
llvm::LLVMContext llvmContext;
std::unique_ptr<llvm::Module> llvmModule = llvm::parseIR(
diff --git a/mlir/lib/Target/SPIRV/TranslateRegistration.cpp b/mlir/lib/Target/SPIRV/TranslateRegistration.cpp
index e63a68c6ed57b..aee4ad3bba994 100644
--- a/mlir/lib/Target/SPIRV/TranslateRegistration.cpp
+++ b/mlir/lib/Target/SPIRV/TranslateRegistration.cpp
@@ -35,8 +35,8 @@ using namespace mlir;
// Deserializes the SPIR-V binary module stored in the file named as
// `inputFilename` and returns a module containing the SPIR-V module.
-static OwningModuleRef deserializeModule(const llvm::MemoryBuffer *input,
- MLIRContext *context) {
+static OwningOpRef<ModuleOp> deserializeModule(const llvm::MemoryBuffer *input,
+ MLIRContext *context) {
context->loadDialect<spirv::SPIRVDialect>();
// Make sure the input stream can be treated as a stream of SPIR-V words
@@ -56,7 +56,7 @@ static OwningModuleRef deserializeModule(const llvm::MemoryBuffer *input,
if (!spirvModule)
return {};
- OwningModuleRef module(ModuleOp::create(FileLineColLoc::get(
+ OwningOpRef<ModuleOp> module(ModuleOp::create(FileLineColLoc::get(
context, input->getBufferIdentifier(), /*line=*/0, /*column=*/0)));
module->getBody()->push_front(spirvModule.release());
@@ -147,7 +147,7 @@ static LogicalResult roundTripModule(ModuleOp srcModule, bool emitDebugInfo,
return failure();
// Wrap around in a new MLIR module.
- OwningModuleRef dstModule(ModuleOp::create(
+ OwningOpRef<ModuleOp> dstModule(ModuleOp::create(
FileLineColLoc::get(&deserializationContext,
/*filename=*/"", /*line=*/0, /*column=*/0)));
dstModule->getBody()->push_front(spirvModule.release());
diff --git a/mlir/lib/Translation/Translation.cpp b/mlir/lib/Translation/Translation.cpp
index 5e989dbc00b52..5a8812ab49b21 100644
--- a/mlir/lib/Translation/Translation.cpp
+++ b/mlir/lib/Translation/Translation.cpp
@@ -62,7 +62,7 @@ static void registerTranslateToMLIRFunction(
StringRef name, const TranslateSourceMgrToMLIRFunction &function) {
auto wrappedFn = [function](llvm::SourceMgr &sourceMgr, raw_ostream &output,
MLIRContext *context) {
- OwningModuleRef module = function(sourceMgr, context);
+ OwningOpRef<ModuleOp> module = function(sourceMgr, context);
if (!module || failed(verify(*module)))
return failure();
module->print(output);
@@ -101,7 +101,7 @@ TranslateFromMLIRRegistration::TranslateFromMLIRRegistration(
DialectRegistry registry;
dialectRegistration(registry);
context->appendDialectRegistry(registry);
- auto module = OwningModuleRef(parseSourceFile(sourceMgr, context));
+ auto module = OwningOpRef<ModuleOp>(parseSourceFile(sourceMgr, context));
if (!module || failed(verify(*module)))
return failure();
return function(module.get(), output);
diff --git a/mlir/unittests/ExecutionEngine/Invoke.cpp b/mlir/unittests/ExecutionEngine/Invoke.cpp
index b9565665be17d..00fdeb59e63e5 100644
--- a/mlir/unittests/ExecutionEngine/Invoke.cpp
+++ b/mlir/unittests/ExecutionEngine/Invoke.cpp
@@ -63,7 +63,7 @@ TEST(MLIRExecutionEngine, AddInteger) {
registerAllDialects(registry);
registerLLVMDialectTranslation(registry);
MLIRContext context(registry);
- OwningModuleRef module = parseSourceString(moduleStr, &context);
+ OwningOpRef<ModuleOp> module = parseSourceString(moduleStr, &context);
ASSERT_TRUE(!!module);
ASSERT_TRUE(succeeded(lowerToLLVMDialect(*module)));
auto jitOrError = ExecutionEngine::create(*module);
@@ -88,7 +88,7 @@ TEST(MLIRExecutionEngine, SubtractFloat) {
registerAllDialects(registry);
registerLLVMDialectTranslation(registry);
MLIRContext context(registry);
- OwningModuleRef module = parseSourceString(moduleStr, &context);
+ OwningOpRef<ModuleOp> module = parseSourceString(moduleStr, &context);
ASSERT_TRUE(!!module);
ASSERT_TRUE(succeeded(lowerToLLVMDialect(*module)));
auto jitOrError = ExecutionEngine::create(*module);
@@ -207,7 +207,7 @@ TEST(NativeMemRefJit, BasicMemref) {
registerAllDialects(registry);
registerLLVMDialectTranslation(registry);
MLIRContext context(registry);
- OwningModuleRef module = parseSourceString(moduleStr, &context);
+ OwningOpRef<ModuleOp> module = parseSourceString(moduleStr, &context);
ASSERT_TRUE(!!module);
ASSERT_TRUE(succeeded(lowerToLLVMDialect(*module)));
auto jitOrError = ExecutionEngine::create(*module);
diff --git a/mlir/unittests/Interfaces/ControlFlowInterfacesTest.cpp b/mlir/unittests/Interfaces/ControlFlowInterfacesTest.cpp
index e3934aa0208ae..b7f6d0ab925e8 100644
--- a/mlir/unittests/Interfaces/ControlFlowInterfacesTest.cpp
+++ b/mlir/unittests/Interfaces/ControlFlowInterfacesTest.cpp
@@ -83,7 +83,7 @@ TEST(RegionBranchOpInterface, MutuallyExclusiveOps) {
registry.insert<CFTestDialect>();
MLIRContext ctx(registry);
- OwningModuleRef module = parseSourceString(ir, &ctx);
+ OwningOpRef<ModuleOp> module = parseSourceString(ir, &ctx);
Operation *testOp = &module->getBody()->getOperations().front();
Operation *op1 = &testOp->getRegion(0).front().front();
Operation *op2 = &testOp->getRegion(1).front().front();
@@ -104,7 +104,7 @@ TEST(RegionBranchOpInterface, NotMutuallyExclusiveOps) {
registry.insert<CFTestDialect>();
MLIRContext ctx(registry);
- OwningModuleRef module = parseSourceString(ir, &ctx);
+ OwningOpRef<ModuleOp> module = parseSourceString(ir, &ctx);
Operation *testOp = &module->getBody()->getOperations().front();
Operation *op1 = &testOp->getRegion(0).front().front();
Operation *op2 = &testOp->getRegion(1).front().front();
@@ -131,7 +131,7 @@ TEST(RegionBranchOpInterface, NestedMutuallyExclusiveOps) {
registry.insert<CFTestDialect>();
MLIRContext ctx(registry);
- OwningModuleRef module = parseSourceString(ir, &ctx);
+ OwningOpRef<ModuleOp> module = parseSourceString(ir, &ctx);
Operation *testOp = &module->getBody()->getOperations().front();
Operation *op1 =
&testOp->getRegion(0).front().front().getRegion(0).front().front();
diff --git a/mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp b/mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp
index ca7006c22efb8..da5ba17393014 100644
--- a/mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp
+++ b/mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp
@@ -236,7 +236,7 @@ module {}
registry.insert<DLTIDialect, DLTestDialect>();
MLIRContext ctx(registry);
- OwningModuleRef module = parseSourceString(ir, &ctx);
+ OwningOpRef<ModuleOp> module = parseSourceString(ir, &ctx);
DataLayout layout(module.get());
EXPECT_EQ(layout.getTypeSize(IntegerType::get(&ctx, 42)), 6u);
EXPECT_EQ(layout.getTypeSize(Float16Type::get(&ctx)), 2u);
@@ -257,7 +257,7 @@ TEST(DataLayout, NullSpec) {
registry.insert<DLTIDialect, DLTestDialect>();
MLIRContext ctx(registry);
- OwningModuleRef module = parseSourceString(ir, &ctx);
+ OwningOpRef<ModuleOp> module = parseSourceString(ir, &ctx);
auto op =
cast<DataLayoutOpInterface>(module->getBody()->getOperations().front());
DataLayout layout(op);
@@ -280,7 +280,7 @@ TEST(DataLayout, EmptySpec) {
registry.insert<DLTIDialect, DLTestDialect>();
MLIRContext ctx(registry);
- OwningModuleRef module = parseSourceString(ir, &ctx);
+ OwningOpRef<ModuleOp> module = parseSourceString(ir, &ctx);
auto op =
cast<DataLayoutOpInterface>(module->getBody()->getOperations().front());
DataLayout layout(op);
@@ -306,7 +306,7 @@ TEST(DataLayout, SpecWithEntries) {
registry.insert<DLTIDialect, DLTestDialect>();
MLIRContext ctx(registry);
- OwningModuleRef module = parseSourceString(ir, &ctx);
+ OwningOpRef<ModuleOp> module = parseSourceString(ir, &ctx);
auto op =
cast<DataLayoutOpInterface>(module->getBody()->getOperations().front());
DataLayout layout(op);
@@ -338,7 +338,7 @@ TEST(DataLayout, Caching) {
registry.insert<DLTIDialect, DLTestDialect>();
MLIRContext ctx(registry);
- OwningModuleRef module = parseSourceString(ir, &ctx);
+ OwningOpRef<ModuleOp> module = parseSourceString(ir, &ctx);
auto op =
cast<DataLayoutOpInterface>(module->getBody()->getOperations().front());
DataLayout layout(op);
@@ -369,7 +369,7 @@ TEST(DataLayout, CacheInvalidation) {
registry.insert<DLTIDialect, DLTestDialect>();
MLIRContext ctx(registry);
- OwningModuleRef module = parseSourceString(ir, &ctx);
+ OwningOpRef<ModuleOp> module = parseSourceString(ir, &ctx);
auto op =
cast<DataLayoutOpInterface>(module->getBody()->getOperations().front());
DataLayout layout(op);
@@ -395,7 +395,7 @@ TEST(DataLayout, UnimplementedTypeInterface) {
registry.insert<DLTIDialect, DLTestDialect>();
MLIRContext ctx(registry);
- OwningModuleRef module = parseSourceString(ir, &ctx);
+ OwningOpRef<ModuleOp> module = parseSourceString(ir, &ctx);
auto op =
cast<DataLayoutOpInterface>(module->getBody()->getOperations().front());
DataLayout layout(op);
@@ -414,7 +414,7 @@ TEST(DataLayout, SevenBitByte) {
registry.insert<DLTIDialect, DLTestDialect>();
MLIRContext ctx(registry);
- OwningModuleRef module = parseSourceString(ir, &ctx);
+ OwningOpRef<ModuleOp> module = parseSourceString(ir, &ctx);
auto op =
cast<DataLayoutOpInterface>(module->getBody()->getOperations().front());
DataLayout layout(op);
diff --git a/mlir/unittests/Interfaces/InferTypeOpInterfaceTest.cpp b/mlir/unittests/Interfaces/InferTypeOpInterfaceTest.cpp
index bfe494516bb79..386253b9fdd0d 100644
--- a/mlir/unittests/Interfaces/InferTypeOpInterfaceTest.cpp
+++ b/mlir/unittests/Interfaces/InferTypeOpInterfaceTest.cpp
@@ -47,7 +47,7 @@ class ValueShapeRangeTest : public testing::Test {
DialectRegistry registry;
MLIRContext ctx;
- OwningModuleRef module;
+ OwningOpRef<ModuleOp> module;
FuncOp mapFn;
};
diff --git a/mlir/unittests/Pass/AnalysisManagerTest.cpp b/mlir/unittests/Pass/AnalysisManagerTest.cpp
index f6c1c1e6fe647..d7a9681488d05 100644
--- a/mlir/unittests/Pass/AnalysisManagerTest.cpp
+++ b/mlir/unittests/Pass/AnalysisManagerTest.cpp
@@ -32,7 +32,7 @@ TEST(AnalysisManagerTest, FineGrainModuleAnalysisPreservation) {
MLIRContext context;
// Test fine grain invalidation of the module analysis manager.
- OwningModuleRef module(ModuleOp::create(UnknownLoc::get(&context)));
+ OwningOpRef<ModuleOp> module(ModuleOp::create(UnknownLoc::get(&context)));
ModuleAnalysisManager mam(*module, /*passInstrumentor=*/nullptr);
AnalysisManager am = mam;
@@ -54,7 +54,7 @@ TEST(AnalysisManagerTest, FineGrainFunctionAnalysisPreservation) {
Builder builder(&context);
// Create a function and a module.
- OwningModuleRef module(ModuleOp::create(UnknownLoc::get(&context)));
+ OwningOpRef<ModuleOp> module(ModuleOp::create(UnknownLoc::get(&context)));
FuncOp func1 =
FuncOp::create(builder.getUnknownLoc(), "foo",
builder.getFunctionType(llvm::None, llvm::None));
@@ -84,7 +84,7 @@ TEST(AnalysisManagerTest, FineGrainChildFunctionAnalysisPreservation) {
Builder builder(&context);
// Create a function and a module.
- OwningModuleRef module(ModuleOp::create(UnknownLoc::get(&context)));
+ OwningOpRef<ModuleOp> module(ModuleOp::create(UnknownLoc::get(&context)));
FuncOp func1 =
FuncOp::create(builder.getUnknownLoc(), "foo",
builder.getFunctionType(llvm::None, llvm::None));
@@ -128,7 +128,7 @@ TEST(AnalysisManagerTest, CustomInvalidation) {
Builder builder(&context);
// Create a function and a module.
- OwningModuleRef module(ModuleOp::create(UnknownLoc::get(&context)));
+ OwningOpRef<ModuleOp> module(ModuleOp::create(UnknownLoc::get(&context)));
ModuleAnalysisManager mam(*module, /*passInstrumentor=*/nullptr);
AnalysisManager am = mam;
@@ -150,7 +150,7 @@ TEST(AnalysisManagerTest, OpSpecificAnalysis) {
MLIRContext context;
// Create a module.
- OwningModuleRef module(ModuleOp::create(UnknownLoc::get(&context)));
+ OwningOpRef<ModuleOp> module(ModuleOp::create(UnknownLoc::get(&context)));
ModuleAnalysisManager mam(*module, /*passInstrumentor=*/nullptr);
AnalysisManager am = mam;
@@ -174,7 +174,7 @@ TEST(AnalysisManagerTest, DependentAnalysis) {
MLIRContext context;
// Create a module.
- OwningModuleRef module(ModuleOp::create(UnknownLoc::get(&context)));
+ OwningOpRef<ModuleOp> module(ModuleOp::create(UnknownLoc::get(&context)));
ModuleAnalysisManager mam(*module, /*passInstrumentor=*/nullptr);
AnalysisManager am = mam;
@@ -205,7 +205,7 @@ TEST(AnalysisManagerTest, NestedDependentAnalysis) {
MLIRContext context;
// Create a module.
- OwningModuleRef module(ModuleOp::create(UnknownLoc::get(&context)));
+ OwningOpRef<ModuleOp> module(ModuleOp::create(UnknownLoc::get(&context)));
ModuleAnalysisManager mam(*module, /*passInstrumentor=*/nullptr);
AnalysisManager am = mam;
@@ -237,7 +237,7 @@ TEST(AnalysisManagerTest, DependentAnalysis2Ctors) {
MLIRContext context;
// Create a module.
- OwningModuleRef module(ModuleOp::create(UnknownLoc::get(&context)));
+ OwningOpRef<ModuleOp> module(ModuleOp::create(UnknownLoc::get(&context)));
ModuleAnalysisManager mam(*module, /*passInstrumentor=*/nullptr);
AnalysisManager am = mam;
diff --git a/mlir/unittests/Pass/PassManagerTest.cpp b/mlir/unittests/Pass/PassManagerTest.cpp
index 8421bcc33a21e..64a25aed24692 100644
--- a/mlir/unittests/Pass/PassManagerTest.cpp
+++ b/mlir/unittests/Pass/PassManagerTest.cpp
@@ -50,7 +50,7 @@ TEST(PassManagerTest, OpSpecificAnalysis) {
Builder builder(&context);
// Create a module with 2 functions.
- OwningModuleRef module(ModuleOp::create(UnknownLoc::get(&context)));
+ OwningOpRef<ModuleOp> module(ModuleOp::create(UnknownLoc::get(&context)));
for (StringRef name : {"secret", "not_secret"}) {
FuncOp func =
FuncOp::create(builder.getUnknownLoc(), name,
@@ -95,7 +95,7 @@ TEST(PassManagerTest, InvalidPass) {
context.allowUnregisteredDialects();
// Create a module
- OwningModuleRef module(ModuleOp::create(UnknownLoc::get(&context)));
+ OwningOpRef<ModuleOp> module(ModuleOp::create(UnknownLoc::get(&context)));
// Add a single "invalid_op" operation
OpBuilder builder(&module->getBodyRegion());
diff --git a/mlir/unittests/Transforms/Canonicalizer.cpp b/mlir/unittests/Transforms/Canonicalizer.cpp
index de968326f63e2..71d7be9bef148 100644
--- a/mlir/unittests/Transforms/Canonicalizer.cpp
+++ b/mlir/unittests/Transforms/Canonicalizer.cpp
@@ -74,7 +74,7 @@ TEST(CanonicalizerTest, TestDisablePatterns) {
%1 = "test.foo"() {sym_name = "B"} : () -> (f32)
)mlir";
- OwningModuleRef module = mlir::parseSourceString(code, &context);
+ OwningOpRef<ModuleOp> module = mlir::parseSourceString(code, &context);
ASSERT_TRUE(succeeded(mgr.run(*module)));
EXPECT_TRUE(module->lookupSymbol("B"));
More information about the Mlir-commits
mailing list