I've never been able to figure this one out: llvm/lib/VMCore/PassManager.cpp:938: virtual void llvm::PMDataManager::addLowerLevelRequiredPass(llvm::Pass*, llvm::Pass*): Assertion `0 && "Unable to handle Pass that requires lower level Analysis pass"' failed. In the past, I've resolved this by disabling random addRequired calls in the offending Pass, even when those dependencies are real. So what does this assert mean, exactly? How do I find out just what is wrong with the Pass dependencies? -Dave
On Jan 28, 2008, at 4:27 PM, David Greene wrote:> I've never been able to figure this one out: > > llvm/lib/VMCore/PassManager.cpp:938: virtual void > llvm::PMDataManager::addLowerLevelRequiredPass(llvm::Pass*, > llvm::Pass*): > Assertion `0 && "Unable to handle Pass that requires lower level > Analysis > pass"' failed. > > In the past, I've resolved this by disabling random addRequired > calls in the > offending Pass, even when those dependencies are real.If those dependencies were real then I expect that you won't be able to disable it because otherwise your pass won't work because of lack of required information ;)> So what does this assert mean, exactly?In simple word, pass manager is unable to fulfill your request.> How do I find out just what is wrong > with the Pass dependencies?Use -debug-pass=Details and find out which pass dependency is not handled. - Devang
On Jan 28, 2008, at 6:38 PM, Devang Patel wrote:>> >> So what does this assert mean, exactly? > > In simple word, pass manager is unable to fulfill your request.Can you explain this one in complex words then? :^) I've encountered the same problem. --Vikram -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20080128/20e12755/attachment.html>
On Monday 28 January 2008 06:38:25 pm Devang Patel wrote:> If those dependencies were real then I expect that you won't be able > to disable it because otherwise your pass won't work because of lack > of required information ;)Not true. If the information happens to be current (in my case it always is), everyone's happy. -Dave