https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66223

--- Comment #11 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Jakub,
sorry, I missed your comment before committing the patch. I have no strong
opinions on this. Clearly falling into builtin_unreachable is uncomfortable
experience as it often leads to no useful segfault and bracktrace and the
chances that we actually devirtualize to cxa_pure_virtual is pretty low as I
checked on firefox where we have no such call in the resulting binary (we
produce some during IPA stage, but they are later optimized out as unreachable)

What is much more common is a call of a type that is not compatible with given
instance (because the actual type was dynamically checked earlier) in this case
we still do builtin_unreachable.

Both cxa_pure_virtual and bultin_unreachable appearing as single target is
taken as a hint that the call is unlikely by IPA optimizers.

Reply via email to