Bump llvm-project to eb8d386d513bf4243d0adb814d862af25b8c4e2f

Two changes:
- no more "verifyPasses" constructor arg for PassManager
- OpPassManager defaults to requiring explicit "nest" calls when created
via the C++ API. The behavior upstream for mlir-opt still obeys the
"implicit" mode, so I just slapped that onto all our pass managers.

I pinged https://reviews.llvm.org/D90671 to get a signal for whether we
are expected to migrate to explicit mode. If so, I'll do that too later.
pull/108/head
Sean Silva 2020-11-04 14:14:46 -08:00
parent 59b7c559f4
commit 3dab9056f0
4 changed files with 7 additions and 5 deletions

@ -1 +1 @@
Subproject commit 773ad135a30dbe0f969086e3ed518ab17502e9f5
Subproject commit eb8d386d513bf4243d0adb814d862af25b8c4e2f

View File

@ -18,8 +18,10 @@ namespace mlir {
struct PyPassManager {
PyPassManager(std::shared_ptr<PyContext> context, bool verifyModules)
: passManager(&context->context, verifyModules),
context(std::move(context)) {}
: passManager(&context->context, OpPassManager::Nesting::Implicit),
context(std::move(context)) {
passManager.enableVerifier(verifyModules);
}
static void bind(py::module m);
PassManager passManager;

View File

@ -51,7 +51,7 @@ createJITModule(std::string mlirFile, mlir::DialectRegistry &registry,
ModuleOp module = *moduleRef;
// Compile.
PassManager pm(module.getContext(), /*verifyPasses=*/true);
PassManager pm(module.getContext(), OpPassManager::Nesting::Implicit);
applyPassManagerCLOptions(pm);
refback::JITModule::buildBackendCompilationPipeline(pm, optimize);
if (failed(pm.run(module)))

View File

@ -128,7 +128,7 @@ Error compileAndRun(std::string mlirFile, mlir::DialectRegistry &registry,
ModuleOp module = *moduleRef;
// Compile.
PassManager pm(module.getContext(), /*verifyPasses=*/true);
PassManager pm(module.getContext(), OpPassManager::Nesting::Implicit);
applyPassManagerCLOptions(pm);
refback::JITModule::buildBackendCompilationPipeline(pm, optimize);
if (failed(pm.run(module))) {