https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68590
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> --- So I'd say we should do Index: gcc/tree.c =================================================================== --- gcc/tree.c (revision 231058) +++ gcc/tree.c (working copy) @@ -3344,10 +3344,6 @@ t = build1 (SAVE_EXPR, TREE_TYPE (expr), t); SET_EXPR_LOCATION (t, EXPR_LOCATION (expr)); - /* This expression might be placed ahead of a jump to ensure that the - value was computed on both sides of the jump. So make sure it isn't - eliminated as dead. */ - TREE_SIDE_EFFECTS (t) = 1; return t; }