http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55078
--- Comment #4 from Jan Hubicka <hubicka at ucw dot cz> 2012-10-27 09:18:09 UTC --- Actually, this seems like another latent problem in devirtualization. We assert because estimate_edge_devirt_benefit works out we can devirtualize the call, but try_make_edge_direct_virtual_call used in inline transform does not. It seems because estimate_edge_devirt_benefit uses the type information provided by ipa-cp that is cowardly ignored by try_make_edge_direct_virtual_call. Martin, can you take a look? Honza