[LLVMdev] Error while making new pass

kapil anand kapilanand2 at gmail.com
Wed Oct 8 10:59:39 PDT 2008

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...


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
>> pass.
> 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
>> "RegisterAnalysisGroup"
>> 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.
>> Thanks
>> --Kapil
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> -
> Devang

More information about the llvm-dev mailing list