Christof Douma via llvm-dev
2016-Sep-12 16:29 UTC
[llvm-dev] PassManager assert: postdomtree usage in scalar-evolution
Hi Chandler. I recently ran into problems with what looks like a bad interaction between the new pass manager and the legacy pass manager. I try to use PostDominatorTree analysis pass in scalar-evolution (as a transitive requirement) which makes the LegacyPassManager run into an assert: opt: ../lib/IR/LegacyPassManager.cpp:520: void llvm::PMTopLevelManager::setLastUser(llvm::ArrayRef<llvm::Pass*>, llvm::Pass*): Assertion `AnalysisPass && "Expected analysis pass to exist."' failed. To reproduce, use the attached patch on ScalarEvolution.cpp and run ./bin/opt -loop-idiom -loop-unroll empty.ll --debug-pass=Arguments Note: the patch is based on svn revision 281213. Any idea how to get this working? Regards, Christof -------------- next part -------------- A non-text attachment was scrubbed... Name: scev-PostDom-transitive.patch Type: application/octet-stream Size: 2272 bytes Desc: scev-PostDom-transitive.patch URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160912/105c71ff/attachment.obj>
Christof Douma via llvm-dev
2016-Sep-13 17:24 UTC
[llvm-dev] PassManager assert: postdomtree usage in scalar-evolution
Hi Chandler. I’ve raised this in Bugzilla as https://llvm.org/bugs/show_bug.cgi?id=30370 By the way, congrats on becoming a director on the LLVM foundation board. Regards, Christof On 12 Sep 2016, at 17:29, Christof Douma <Christof.Douma at arm.com> wrote:> Hi Chandler. > > I recently ran into problems with what looks like a bad interaction between the new pass manager and the legacy pass manager. I try to use PostDominatorTree analysis pass in scalar-evolution (as a transitive requirement) which makes the LegacyPassManager run into an assert: > opt: ../lib/IR/LegacyPassManager.cpp:520: void llvm::PMTopLevelManager::setLastUser(llvm::ArrayRef<llvm::Pass*>, llvm::Pass*): Assertion `AnalysisPass && "Expected analysis pass to exist."' failed. > > To reproduce, use the attached patch on ScalarEvolution.cpp and run ./bin/opt -loop-idiom -loop-unroll empty.ll --debug-pass=Arguments > Note: the patch is based on svn revision 281213. > > Any idea how to get this working? > > > Regards, > Christof > > <scev-PostDom-transitive.patch>