[LLVMdev] Pool Allocation Segfaulting with opt

John Criswell criswell at cs.uiuc.edu
Mon Jul 6 07:08:32 PDT 2009


Patrick Alexander Simmons wrote:
> Hi,
>
> I'm trying to run the pool allocation pass through opt, and I'm running 
> into problems.  It segfaults frequently; for example, it does this when 
> the input is a simple Hello World program:
>   
Can you email me the bitcode file that is causing the problem?
> [simmon12 at apoc testcases]$ opt -load 
> /home/vadve/simmon12/llvm/llvm/projects/llvm-poolalloc/Debug/lib/libLLVMDataStructure.so 
> -load 
> /home/vadve/simmon12/llvm/llvm/projects/llvm-poolalloc/Debug/lib/poolalloc.so 
> -poolalloc hello.bc > hello.pool
> 0   opt                     0x08469ccb
> 1   libLLVMDataStructure.so 0x0022f5a4 
> llvm::ConstantArray::classof(llvm::Value const*) + 30
> 2   libLLVMDataStructure.so 0x0022f57a bool 
> llvm::isa_impl<llvm::ConstantArray, llvm::Constant>(llvm::Constant 
> const&) + 30
> 3   libLLVMDataStructure.so 0x0022e942 
> llvm::isa_impl_wrap<llvm::ConstantArray, llvm::Constant const, 
> llvm::Constant const>::doit(llvm::Constant const&) + 30
> 4   libLLVMDataStructure.so 0x0022e22a bool 
> llvm::isa_impl_cl<llvm::Constant>::isa<llvm::ConstantArray>(llvm::Constant 
> const&) + 30
> 5   libLLVMDataStructure.so 0x0022e032 bool 
> llvm::isa_impl_cl<llvm::Constant*>::isa<llvm::ConstantArray>(llvm::Constant*) 
> + 30
> 6   libLLVMDataStructure.so 0x0022dd82 bool 
> llvm::isa<llvm::ConstantArray, llvm::Constant*>(llvm::Constant* const&) + 32
> 7   libLLVMDataStructure.so 0x0022d9dc 
> llvm::cast_retty<llvm::ConstantArray, 
> llvm::Constant*>::ret_typellvm::dyn_cast<llvm::ConstantArray, 
> llvm::Constant*>(llvm::Constant* const&) + 30
> 8   libLLVMDataStructure.so 0x0022bc71 (anonymous 
> namespace)::GraphBuilder::MergeConstantInitIntoNode(llvm::DSNodeHandle&, 
> llvm::Type const*, llvm::Constant*) + 229
> 9   libLLVMDataStructure.so 0x0022bfb7 (anonymous 
> namespace)::GraphBuilder::mergeInGlobalInitializer(llvm::GlobalVariable*) 
> + 149
> 10  libLLVMDataStructure.so 0x0022c08c 
> llvm::LocalDataStructures::runOnModule(llvm::Module&) + 190
> 11  opt                     0x083fdf4e 
> llvm::MPPassManager::runOnModule(llvm::Module&) + 270
> Segmentation fault
>
> I'm using the latest SVN checkouts for both LLVM and llvm-poolalloc.  
> Should I perhaps use the 2.5 branch of LLVM instead?
>
> Oh, also, what's the name of the DSA pass that pool allocation runs?  
> I'd like to structure my passes to go 
> "DSA-MyAnalysis-PoolAllocation-MyTransform".
>   
You can use the -debug-pass=Arguments option to opt to print out which
DSA passes it is using.

-- John T.

> Thanks,
> --Patrick
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>   




More information about the llvm-dev mailing list