[LLVMdev] Extract Loop Failing

Ryan Taylor ryta1203 at gmail.com
Thu Jan 12 11:44:57 PST 2012


Is it not a good idea to try and extract loops that have multiple exits?

On Thu, Jan 12, 2012 at 10:44 AM, Ryan Taylor <ryta1203 at gmail.com> wrote:

> I am trying to use ExtractLoop() but I am getting segFaults:
>
> 0  opt             0x00000000008edc2f
> 1  opt             0x00000000008edfda
> 2  libpthread.so.0 0x00007ffe21203c60
> 3  opt             0x0000000000895ed9 llvm::Value::getName() const + 9
> 4  LLVMEXITCDFG.so 0x00007ffe202b80d7
> 5  opt             0x00000000006fc6e7
> llvm::LPPassManager::runOnFunction(llvm::Function&) + 1143
> 6  opt             0x0000000000882557
> llvm::FPPassManager::runOnFunction(llvm::Function&) + 551
> 7  opt             0x00000000008825db
> llvm::FPPassManager::runOnModule(llvm::Module&) + 75
> 8  opt             0x0000000000882197
> llvm::MPPassManager::runOnModule(llvm::Module&) + 503
> 9  opt             0x0000000000882299
> llvm::PassManagerImpl::run(llvm::Module&) + 137
> 10 opt             0x00000000004ac451 main + 4881
> 11 libc.so.6       0x00007ffe204d9eff __libc_start_main + 255
> 12 opt             0x000000000049f5f9
> Stack dump:
> 0.    Program arguments: opt -load
> /home/ryan/llvm/llvm_core/llvm-2.9/Release/lib/LLVMEXITCDFG.so -exitPass
> fix_fft.c.bc -o fix_fft.c.bc
> 1.    Running pass 'Function Pass Manager' on module 'fix_fft.c.bc'.
> 2.    Running pass 'Loop Pass Manager' on function '@fix_fft'
> 3.    Running pass 'CDFG exitPass' on basic block '%bb3'
> ./optScript.sh: line 46:  2637 Segmentation fault      opt -load
> /home/ryan/llvm/llvm_core/llvm-2.9/Release/lib/LLVMEXITCDFG.so -exitPass
> $1.bc -o ${1}.bc
>
> If I remove the "deleteLoopFromQueue" function call, it goes over all the
> loops (supposedly extracting them) and then segFaults.
>
> How should I properly use this function?
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120112/24a564e6/attachment.html>


More information about the llvm-dev mailing list