http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52037
--- Comment #12 from Jan Hubicka <hubicka at ucw dot cz> 2012-01-31 13:34:13 UTC --- > BTW I've been using the following patch since August last year: > > diff --git a/gcc/ipa-inline-transform.c b/gcc/ipa-inline-transform.c > index 75b8e9d..530fca3 100644 > --- a/gcc/ipa-inline-transform.c > +++ b/gcc/ipa-inline-transform.c > @@ -123,6 +123,7 @@ can_remove_node_now_p (struct cgraph_node *node, struct > cgraph_edge *e) > if ((next->callers && next->callers != e) > || !can_remove_node_now_p_1 (next)) > return false; > + gcc_unreachable (); > return true; > } > > And it never triggered since then... I suppose it is because same_condat_group is used for virutal constructors with thunks and we are so bad at devirutalzing still... (i.e. somthing like 11 calls at Mozilla if I remember right) At least I do not see obvoius thinko in that code. Honza