[LLVMdev] Unnamed pass in on the fly pass manager

Scott Ricketts sricketts at maxentric.com
Fri Jul 10 11:36:55 PDT 2009


For the record, there were two issues:
1) I was not passing the Function to getAnalysis for the PDT.
2) I was attempting to getAnalysis on external functions.

On Thu, Jul 9, 2009 at 5:49 PM, Scott Ricketts<sricketts at maxentric.com> wrote:
> Update: the "unnamed pass" is PostDominatorTree. My module pass
> requires PDT (specified in its getAnalysisUsage). When it visits a
> function, it calls getAnalysis<PostDominatorTree>(), which triggers
> the failed assertion "getAnalysis*() called on an analysis that was
> not 'required' by pass!"
> This issue has been addressed on this mailing list, but it seems the
> previous problem had to do with attempting to getAnalysis during
> doInitialization, which I do not do.
> I am snooping through the PassManager (and related) code. Perhaps
> someone could point me in the right direction or suggest that my
> approach is wrong.
> Thanks,
> Scott
> On Thu, Jul 9, 2009 at 1:27 PM, Scott Ricketts<sricketts at maxentric.com> wrote:
>> I have written a module pass. When I use the debug pass structure
>> option, the name of my module pass is printed but then I get "Unnamed
>> pass" when the FunctionPassManagerImpl *FPP calls dumpPassStructure
>> (in PassManager.cpp). Is this the expected behavior, or should I be
>> concerned that there is an error in my approach?
>> Thanks,
>> Scott

More information about the llvm-dev mailing list