[LLVMdev] Segmentation Fault of BasicCallGraph?
Shuying Liang
shuying.liang at gmail.com
Thu Oct 7 09:19:20 PDT 2010
Hey, Nick..
Well, I had two installation of llvm and forgot to delete the other
one, so by default it called system installed llvm's opt, and rather
than mine.. and the problem is fixed.
But may I ask why implemented getAdjustedAnalysisPointer?
On Wed, Oct 6, 2010 at 10:06 PM, Nick Lewycky <nicholas at mxc.ca> wrote:
> Shuying Liang wrote:
>>
>> Hi,
>>
>> I did a little experiment, basically to extract implemented CallGraph
>> to be a "new" pass with different registered name, and run the "new"
>> pass, but the result always gives out Segmentation Fault... I am
>> probably missing
>> sth?
>>
>> Implemented another new class,
>> class BasicCallGraph2 : public ModulePass, public CallGraph {
>> .....
>> ...
>> }
>> The inside code is exact same as BasicCallGraph, except registered
>> passname to be testcgn and the information of the pass. then after
>> enabling and run the new pass, on a test.bc file, there is always a
>> segmentation fault.
>>
>> 0 libLLVM-2.7.so.1 0x00007f5cd87b1d2f
>> 1 libLLVM-2.7.so.1 0x00007f5cd87b238d
>> 2 libpthread.so.0 0x00007f5cd7ba38f0
>> 3 MyPass.so 0x00007f5cd6a538d4
>> llvm::CallGraphNode::addCalledFunction(llvm::CallSite,
>> llvm::CallGraphNode*) + 100
>> 4 MyPass.so 0x00007f5cd6a519aa
>> 5 MyPass.so 0x00007f5cd6a52dd1
>> 6 libLLVM-2.7.so.1 0x00007f5cd8432e08
>> llvm::MPPassManager::runOnModule(llvm::Module&) + 376
>> 7 libLLVM-2.7.so.1 0x00007f5cd8432f2b
>> llvm::PassManagerImpl::run(llvm::Module&) + 107
>> 8 opt 0x0000000000415d53 main + 2003
>> 9 libc.so.6 0x00007f5cd6c75c4d __libc_start_main + 253
>> 10 opt 0x00000000004095c9
>> Stack dump:
>> 0. Program arguments: opt -load ../../../Release/lib/MyPass.so
>> -testcgn
>> 1. Running pass 'print out the call grpah node contruction process'
>> on
>> module '<stdin>'.
>> Segmentation fault
>>
>> What is going on? what makes the addCalledFunction failed? I would
>> really appreciate your answers.......
>
> Your pass is using multiple inheritance. Have you implemented
> getAdjustedAnalysisPointer for your pass?
>
> Nick
>
--
Regards,
--Shuying
More information about the llvm-dev
mailing list