I want to use PgmDependenceGraph pass , but my pass cannot work with
PgmDependenceGraph.
I tried again in Hello2 pass, and it could not work also.
The following is I did with llvm/lib/Transforms/Hello.cpp:
1.insert #include "llvm/Analysis/PgmDependenceGraph.h" in Hello.cpp.
2.insert AU.addRequired<PgmDependenceGraph>() in the
getAnalysisUsage(AnalysisUsage &AU) of Hello2.
3.made the hello pass, it passed.
4.do "opt -load /llvm/lib/Debug/libhello.so -hello2
helloTheWorld.bc", and opt gives me:
opt[0x85aaab8]
opt[0x85aacc4]
/lib/tls/libc.so.6[0x420275c8]
opt(std::vector<__gnu_cxx::_Hashtable_node<std::pair<llvm::Value*
const, llvm::]
opt(__gnu_cxx::hashtable<std::pair<llvm::Value* const,
llvm::DSNodeHandle>, llv]
opt(__gnu_cxx::hashtable<std::pair<llvm::Value* const,
llvm::DSNodeHandle>, llv]
opt(__gnu_cxx::hash_map<llvm::Value*, llvm::DSNodeHandle,
__gnu_cxx::hash<llvm:]
opt(llvm::DSScalarMap::find(llvm::Value*)+0x1a)[0x84a998e]
opt(llvm::DSGraph::removeDeadNodes(unsigned)+0x3e1)[0x847def5]
opt(llvm::IPModRef::getFuncInfo(llvm::Function const&,
bool)+0xf3)[0x85db297]
opt(llvm::IPModRef::run(llvm::Module&)+0xaf)[0x85db189]
opt(llvm::PassManagerTraits<llvm::Module>::runPass(llvm::Pass*,
llvm::Module*)+]
opt(llvm::PassManagerT<llvm::Module>::runOnUnit(llvm::Module*)+0x5e4)[0x857fd5c]
opt(llvm::PassManagerTraits<llvm::Module>::run(llvm::Module&)+0x1b)[0x857f3c3]
opt(llvm::PassManager::run(llvm::Module&)+0x1f)[0x85371ad]
opt(main+0x8c0)[0x8358b00]
/lib/tls/libc.so.6(__libc_start_main+0xe4)[0x42015574]
opt(dlopen+0x41)[0x83581b1]
Segmentation fault
Has anybody tell me the reason and what should I do?
Thanks.
Xia
______________________________________
ע������30��������䣨 http://mail.sina.com.cn/chooseMode.html ��
==================================================================ע���С�����ϲ���Ͻ���
(http://ad4.sina.com.cn/wx/ads/zhuiyu_hprefresh.html)