[LLVMdev] LLVM problem, please do not ignore
James Molloy
james.molloy at arm.com
Thu Nov 3 06:42:06 PDT 2011
Hi Arshak,
Do you expect us to debug your pass for you? Have you run it in GDB and seen
where the segfault occurs?
3 opt 0x00000000004b3615 llvm::PATypeHolder::get() const + 21
Looks like the most likely suspect, run on a bad pointer. But GDB would have
told you this.
Also, PATypeHolder is deprecated and not available in mainline trunk.
Cheers,
James
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On
Behalf Of Arshak Nazaryan
Sent: 03 November 2011 10:56
To: llvmdev at cs.uiuc.edu
Subject: [LLVMdev] LLVM problem, please do not ignore
Dear sir or madam,
I am a 4-th year student at Yerevan State University, Armenia; and I am
studying LLVM in order to write my Bachelor thesis.
I am trying to write an llvm pass that just removes all "Add" commands and
gives some statstics.
Nevertheless, I get this segmentation fault:
................some rows about functions, that are not changed by my pass.
The errors occurs after it has modified a "@_Z3addii" function.
store i32 %b.0, i32* %4 and the type is ddddbbm 28
%5 = load i32* %a_addr, align 4 and the type is ddddbbm 27
%6 = load i32* %b_addr, align 4 and the type is ddddbbm 27
%7 = add nsw i32 %5, %6 and the type is ddddbbm 8
store i32 %7, i32* %0, align 4 and the type is ddddbbm 28
%7 = add nsw i32 %5, %6 is erased, ba!
%7 = load i32* %0, align 4 and the type is ddddbbm 27
store i32 %7, i32* %retval, align 4 and the type is ddddbbm 28
br label %return and the type is ddddbbm 2
ret i32 %retval1 and the type is ddddbbm 1
0 opt 0x00000000008ed93f
1 opt 0x00000000008edcea
2 libpthread.so.0 0x00007f9ba1183c60
3 opt 0x00000000004b3615 llvm::PATypeHolder::get() const + 21
4 opt 0x00000000008a4f11
5 opt 0x00000000008a9404
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 0x00007f9ba0459eff __libc_start_main + 255
12 opt 0x000000000049f5f9
Stack dump:
0. Program arguments: opt hello.bc -load
../llvm/llvm-2.9/plugin/BasicBlockStats.so -basic-block-stats -stats -o
newhello.bc
1. Running pass 'Function Pass Manager' on module 'hello.bc'.
2. Running pass 'Module Verifier' on function '@_Z3addii'
Segmentation fault
Please find the source of my pass attached.
Hope to get a reply soon.
Regards,
Arshak Nazaryan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20111103/798419fd/attachment.html>
More information about the llvm-dev
mailing list