opt bugpoint-reduced-simplified.bc -inline -prune-eh WARNING: You're attempting to print out a bytecode file. This is inadvisable as it may cause display problems. If you REALLY want to taste LLVM bytecode first-hand, you can force output with the `-f' option. opt((anonymous namespace)::PrintStackTrace()+0x1f)[0x848a90f] [0x85a1df4] Segmentation fault When reducing this testcase I also sometimes got this instead: opt: /usr/local/llvm/src/llvm/include/llvm/ADT/ilist:120: typename bidirectional_iterator<NodeTy, ptrdiff_t>::reference llvm::ilist_iterator<NodeTy>::operator*() const [with NodeTy = llvm::BasicBlock]: Assertion `Traits::getNext(NodePtr) != 0 && "Dereferencing end()!"' failed. opt((anonymous namespace)::PrintStackTrace()+0x1f)[0x848a90f] /lib/tls/i686/cmov/libc.so.6(abort+0x1dc)[0xb7dd67d8] /lib/tls/i686/cmov/libc.so.6(__assert_fail+0x109)[0xb7dced5d] opt((anonymous namespace)::PruneEH::SimplifyFunction(llvm::Function*)+0x2c5)[0x8300f65] Aborted
Created attachment 362 [details] File that crashes opt
This looks like the inliner isn't updating the callgraph correctly, which causes the prune-eh pass to crash. I'm investigating. -Chris
Fixed. Patches here: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20060710/035973.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20060710/035974.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20060710/035975.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20060710/035976.html Testcase here: Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll Thanks! -Chris
*** Bug 846 has been marked as a duplicate of this bug. ***