[LLVMdev] Unnamed pass in on the fly pass manager

Daniel Dunbar daniel at zuster.org
Sat Jul 11 20:37:04 PDT 2009


Hi Scott,

I tried to clarify this in the WritingAnLLVMPass document a little
while ago, but if you can think of better wording or another place to
put a pointer, let me know.

http://llvm.org/docs/WritingAnLLVMPass.html#ModulePass

 - Daniel

On Fri, Jul 10, 2009 at 11:36 AM, Scott Ricketts<sricketts at maxentric.com> wrote:
> Solved...
>
> 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
>>>
>>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>




More information about the llvm-dev mailing list