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

Jeffrey A. Law <law at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |redi at gcc dot gnu.org

--- Comment #8 from Jeffrey A. Law <law at redhat dot com> ---
Jon's call on the annotation, obviously.

In theory that kind of annotation should be zero cost as there is no code on
the __builtin_unreachable path which in turn allows the various optimizers to
remove the __builtin_unreachable as well as the controlling condition.

I know from recent work a __builtin_unreachable like this can sneak through the
gimple optimizers.  But it was a pretty oddball case involving computed jumps
where the computed jump target was an empty __builtin_unreachable block. 
Similarly I just fixed a bug where the ranges implied by the
__builtin_unreachables were getting lost.

My point for Jon is that while these are supposed to be zero cost ways to
describe situations that aren't supposed to happen, a little verification seems
wise :-)

Reply via email to