Author: River Riddle Date: 2021-01-08T14:41:29-08:00 New Revision: 77501bd1754fd15bc5044af78e987f894f494ee9
URL: https://github.com/llvm/llvm-project/commit/77501bd1754fd15bc5044af78e987f894f494ee9 DIFF: https://github.com/llvm/llvm-project/commit/77501bd1754fd15bc5044af78e987f894f494ee9.diff LOG: [mlir][PassManager] Properly set the initialization generation when cloning a pass manager Fixes a bug where dynamic pass pipelines of cloned pass managers weren't being initialized properly. Added: Modified: mlir/lib/Pass/Pass.cpp Removed: ################################################################################ diff --git a/mlir/lib/Pass/Pass.cpp b/mlir/lib/Pass/Pass.cpp index fdc6d56d86a5..d8a59bc83661 100644 --- a/mlir/lib/Pass/Pass.cpp +++ b/mlir/lib/Pass/Pass.cpp @@ -246,6 +246,7 @@ OpPassManager::OpPassManager(OpPassManager &&rhs) : impl(std::move(rhs.impl)) {} OpPassManager::OpPassManager(const OpPassManager &rhs) { *this = rhs; } OpPassManager &OpPassManager::operator=(const OpPassManager &rhs) { impl.reset(new OpPassManagerImpl(rhs.impl->name, rhs.impl->nesting)); + impl->initializationGeneration = rhs.impl->initializationGeneration; for (auto &pass : rhs.impl->passes) impl->passes.emplace_back(pass->clone()); return *this; _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits