https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93998
--- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
It's the new
5452 /* Avoid evaluating a TARGET_EXPR more than once. */
5453 if (tree *p = ctx->global->values.get (TARGET_EXPR_SLOT (t)))
5454 {
5455 if (lval)
5456 return TARGET_EXPR_SLOT (t);
5457 r = *p;
5458 break;
5459 }
hunk. Before it, when op1 of the TARGET_EXPR was *non_constant_p, we returned
the whole TARGET_EXPR, now we return its op1 even when the evaluation would be
*non_constant_p.