[LLVMdev] Error while making new pass
dpatel at apple.com
Wed Oct 8 11:37:27 PDT 2008
On Oct 8, 2008, at 10:59 AM, kapil anand wrote:
> Hi Devang,
> GlobalModRefPass is also a ModulePass and it uses CallGraph Analysis.
> So, I think it should not necessary to extend CallGraphSCCPass to use
> CallGraph information. Module Pass shoule be sufficient...
ok, but you're Registering your pass in CallGraph Analysis group.
What if you remove "RegisterAnalysisGroup" ? Is there a need ?
> On 10/8/08, Devang Patel <dpatel at apple.com> wrote:
>> Hi Kapil,
>> On Oct 8, 2008, at 10:19 AM, kapil anand wrote:
>>> Hi all,
>>> I need a new kind of analysis on LLVM Module, so I made a new pass
>>> to do this. This new pass extends the ModulePass class and follows
>>> the conventions used in GlobalModRefPass, which is also a Module
>>> Pass.I need the CallGraph analysis for this pass, hence I have added
>>> (addRequired(CallGraph)) in getAnalysisUsage function of this new
>> A module pass may not required CallGraph. Probably, you want to make
>> your pass a CallGraphSCCPass, e.g. Inliner.
>>> I also added it to CallGraph Analysis group through
>>> This new pass is not part of any LLVM library and is not present in
>>> LLVM source tree . Rather it is part of my own project tree. I
>>> included required header files and specified the required library in
>>> the linker. It compiles and links fine but when I reach at
>>> getAnalysis function to get CallGraph analysis, it gives me
>>> following runtime error
>>> Assertion "resover && pass has not been inserted into a Pass
>>> Manager Object" failed.
>>> What other steps do I need to follow to get rid of this error.
>>> LLVM Developers mailing list
>>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
More information about the llvm-dev