LLVM Bugzilla is read-only and represents the historical archive of all LLVM issues filled before November 26, 2021. Use github to submit LLVM bugs

Bug 827 - inliner doesn't properly update callgraph when performing partial inlining
Summary: inliner doesn't properly update callgraph when performing partial inlining
Status: RESOLVED FIXED
Alias: None
Product: libraries
Classification: Unclassified
Component: Interprocedural Optimizations (show other bugs)
Version: trunk
Hardware: All All
: P normal
Assignee: Chris Lattner
URL:
Keywords: compile-fail
: 846 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-07-11 15:41 PDT by Jack Robinson
Modified: 2010-02-22 12:51 PST (History)
2 users (show)

See Also:
Fixed By Commit(s):


Attachments
File that crashes opt (4.39 KB, application/octet-stream)
2006-07-11 15:42 PDT, Jack Robinson
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jack Robinson 2006-07-11 15:41:25 PDT
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
Comment 1 Jack Robinson 2006-07-11 15:42:36 PDT
Created attachment 362 [details]
File that crashes opt
Comment 2 Chris Lattner 2006-07-12 12:18:51 PDT
This looks like the inliner isn't updating the callgraph correctly, which causes the prune-eh pass to crash.  
I'm investigating.

-Chris 
Comment 4 Chris Lattner 2006-08-03 15:59:44 PDT
*** Bug 846 has been marked as a duplicate of this bug. ***