<div dir="ltr">HI Devang, <br><br>Initially I had not added this pass to the group and I got this error regarding PassManager. I added the pass to group just to check whether that removes the error or not...<br><br>I have removed it again. <br>
<br>Is there any other registration required to configure pass manager for the pass?<br><br>--Kapil<br><br><div class="gmail_quote">On Wed, Oct 8, 2008 at 2:37 PM, Devang Patel <span dir="ltr"><<a href="mailto:dpatel@apple.com">dpatel@apple.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d"><br>
On Oct 8, 2008, at 10:59 AM, kapil anand wrote:<br>
<br>
> Hi Devang,<br>
><br>
> GlobalModRefPass is also a ModulePass and it uses CallGraph Analysis.<br>
> So, I think it should not necessary to extend CallGraphSCCPass to use<br>
> CallGraph information. Module Pass shoule be sufficient...<br>
<br>
</div>ok, but you're Registering your pass in CallGraph Analysis group.<br>
What if you remove "RegisterAnalysisGroup" ? Is there a need ?<br>
-<br>
<font color="#888888">Devang<br>
</font><div><div></div><div class="Wj3C7c">><br>
><br>
><br>
> --Kapil<br>
><br>
> On 10/8/08, Devang Patel <<a href="mailto:dpatel@apple.com">dpatel@apple.com</a>> wrote:<br>
>> Hi Kapil,<br>
>><br>
>> On Oct 8, 2008, at 10:19 AM, kapil anand wrote:<br>
>><br>
>>> Hi all,<br>
>>><br>
>>> I need a new kind of analysis on LLVM Module, so I made a new pass<br>
>>> to do this. This new pass extends the ModulePass class and follows<br>
>>> the conventions used in GlobalModRefPass, which is also a Module<br>
>>> Pass.I need the CallGraph analysis for this pass, hence I have added<br>
>>> (addRequired(CallGraph)) in getAnalysisUsage function of this new<br>
>>> pass.<br>
>><br>
>> A module pass may not required CallGraph. Probably, you want to make<br>
>> your pass a CallGraphSCCPass, e.g. Inliner.<br>
>><br>
>>> I also added it to CallGraph Analysis group through<br>
>>> "RegisterAnalysisGroup"<br>
>>><br>
>>> This new pass is not part of any LLVM library and is not present in<br>
>>> LLVM source tree . Rather it is part of my own project tree. I<br>
>>> included required header files and specified the required library in<br>
>>> the linker. It compiles and links fine but when I reach at<br>
>>> getAnalysis function to get CallGraph analysis, it gives me<br>
>>> following runtime error<br>
>>><br>
>>> Assertion "resover && pass has not been inserted into a Pass<br>
>>> Manager Object" failed.<br>
>>><br>
>>> What other steps do I need to follow to get rid of this error.<br>
>>><br>
>>> Thanks<br>
>>><br>
>>> --Kapil<br>
>>><br>
>>><br>
>>> _______________________________________________<br>
>>> LLVM Developers mailing list<br>
>>> <a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a> <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
>>> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
>><br>
>> -<br>
>> Devang<br>
>><br>
>><br>
>><br>
>><br>
> _______________________________________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a> <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br>
-<br>
Devang<br>
<br>
<br>
<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a> <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</div></div></blockquote></div><br></div>