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

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Note, I think for [[assume(i == j)]]; we can just emit if (i == j) ; else
__builtin_unreachable (); - it is just the TREE_SIDE_EFFECTS case that would
need the extra treatment (I think the no side-effect cases will be occur often
enough that it is worth avoiding the outlining etc. costs).  Well, possibly
also anything that could trap or fault or with some expression size limit.
If it doesn't have side-effects and can't trap/fault, we either DCE it, or it
doesn't result in visible side-effects.  But possible floating point
side-effects, or integer division by zero, or memory dereferences etc. should
go the new way.

Reply via email to