[Mlir-commits] [mlir] 77501bd - [mlir][PassManager] Properly set the initialization generation when cloning a pass manager
    River Riddle 
    llvmlistbot at llvm.org
       
    Fri Jan  8 14:47:09 PST 2021
    
    
  
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;
        
    
    
More information about the Mlir-commits
mailing list