------- Comment #10 from hubicka at ucw dot cz 2009-12-08 16:35 ------- Subject: Re: [4.5 Regression] ICE with inlining
> I assumed it is special vtable handling (that likely doesn't cause the > addressable flag to be set?) - I simply stopped debugging at the point > where I noticed the node gets removed even though there are still > indirect calls that possibly can reach it. The problem is uglier. When we clone node and we inline it, we must keep the clone around (since while inlining we can't apply the changes needed by ipa-cp clonning or other passes in general). But since this interfere with reachability as toon noticed, we put this node into "limbo stage" (i.e. it is around, has no call edges). When we decide to materialize it, we add the edges as previously indirect creating the extra call that should not exist. I've fixed it by simply removing those edges once clonning is finished. Honza -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42110