[LLVMdev] Error when using getAnalysis

Devang Patel dpatel at apple.com
Tue Dec 2 11:06:44 PST 2008


On Dec 2, 2008, at 10:40 AM, Jeff Yeong-Peng Hao wrote:

>
> Hi,
>
> I had a question about this as well.  The documentation about  
> writing a
> pass shows an example like what John wrote, calling a function pass  
> within
> a module pass on a per function basis.  However, if I code it that  
> way, I
> still get the same error:
>
> opt: /x/jeffhao/llvm/llvm/include/llvm/PassAnalysisSupport.h:232:
> AnalysisType& llvm::Pass::getAnalysisID(const llvm::PassInfo*,
> llvm::Function&) [with AnalysisType = llvm::LoopInfo]: Assertion
> `ResultPass && "getAnalysis*() called on an analysis that was not "
> "'required' by pass!"' failed.
>
> If I remove the addRequired from getAnalysisUsage, I get this error:
>
> opt: /x/jeffhao/llvm/llvm-2.4/lib/VMCore/PassManager.cpp:1440: virtual
> llvm::Pass* llvm::MPPassManager::getOnTheFlyPass(llvm::Pass*, const
> llvm::PassInfo*, llvm::Function&): Assertion `FPP && "Unable to find  
> on the
> fly pass"' failed.
>
> What else needs to be added to make the code run?

Is it possible for you to provide a reproducible test case to help us  
understand what is going on ?
Thanks,
-
Devang



More information about the llvm-dev mailing list