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


--Kapil

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