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.