<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body bgcolor="#ffffff" text="#000000">
I'm working on a pass (both LLVM and the pass have been compiled in
debug+asserts mode) but when the pass crashes in the stack trace
printed by opt the names of the functions inside my pass don't
appear (see frames 14-16). How can I have them displayed?<br>
<blockquote type="cite"><tt>cafxx@ubuntu:~/Projects/llvm2/Debug+Asserts/bin$
clear && ./opt -load=CGF.so -cgf -debug test.S <br>
[...]<br>
While deleting: i32 %<br>
Use still stuck around after Def is destroyed: ret i32
<badref><br>
opt: Value.cpp:76: virtual llvm::Value::~Value(): Assertion
`use_empty() && "Uses remain when a value is
destroyed!"' failed.<br>
0 opt 0x0000000000d75265<br>
1 opt 0x0000000000d75061<br>
2 libpthread.so.0 0x00007f640c60bc60<br>
3 libc.so.6 0x00007f640b8f6d05 gsignal + 53<br>
4 libc.so.6 0x00007f640b8faab6 abort + 390<br>
5 libc.so.6 0x00007f640b8ef7c5 __assert_fail + 245<br>
6 opt 0x0000000000d1b287 llvm::Value::~Value() +
393<br>
7 opt 0x0000000000c18b67 llvm::User::~User() + 99<br>
8 opt 0x0000000000cc9ee2
llvm::Instruction::~Instruction() + 114<br>
9 opt 0x0000000000ccbf68
llvm::CallInst::~CallInst() + 58<br>
10 opt 0x0000000000ccbf9a
llvm::CallInst::~CallInst() + 24<br>
11 opt 0x00000000008db456
llvm::ilist_node_traits<llvm::Instruction>::deleteNode(llvm::Instruction*)
+ 42<br>
12 opt 0x00000000008d9ffd
llvm::iplist<llvm::Instruction,
llvm::ilist_traits<llvm::Instruction>
>::erase(llvm::ilist_iterator<llvm::Instruction>) + 43<br>
13 opt 0x0000000000cca004
llvm::Instruction::eraseFromParent() + 66<br>
<b><font color="#cc0000">14 CGF.so 0x00007f640b6a0042<br>
15 CGF.so 0x00007f640b69f7c3<br>
16 CGF.so 0x00007f640b6a24fd</font></b><br>
17 opt 0x0000000000cf75f2
llvm::MPPassManager::runOnModule(llvm::Module&) + 456<br>
18 opt 0x0000000000cf7ae7
llvm::PassManagerImpl::run(llvm::Module&) + 125<br>
19 opt 0x0000000000cf7ef5
llvm::PassManager::run(llvm::Module&) + 39<br>
20 opt 0x00000000008b33e3 main + 4434<br>
21 libc.so.6 0x00007f640b8e1eff __libc_start_main + 255<br>
22 opt 0x00000000008a3ec9<br>
Stack dump:<br>
0. Program arguments: ./opt -load=CGF.so -cgf -debug test.S <br>
1. Running pass 'CGF' on module 'test.S'.</tt><br>
</blockquote>
<br>
<br>
<div class="moz-signature">-- <br>
<style type="text/css">
.signature {
}
.signature a, .signature a:link, .signature a:hover, .signature a:active,
</style>
<div style="background: none repeat scroll 0% 0% rgb(238, 238,
238); border: 1px solid rgb(221, 221, 221); padding: 7px 9px;
display: inline-block; -moz-border-radius: 6px 6px 6px 6px;">
Carlo Alberto Ferraris <<a
href="mailto:cafxx@strayorange.com">cafxx@strayorange.com</a>><br>
<a href="http://cafxx.strayorange.com">website/blog</a> - +39
333 7643 235
</div>
</div>
</body>
</html>