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

Reply via email to