https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122620
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #1)
> internal_get_tmp_var in there constructs GENERIC _786 = {CLOBBER(eob)};
> That looks wrong, lhs of a clobber stmt should be something addressable or a
> MEM_REF.
> And gimplify_modify_expr then emits
> 7252 if (!VAR_P (*to_p) && TREE_CODE (*to_p) != MEM_REF)
> 7253 {
> 7254 tree addr = get_initialized_tmp_var (build_fold_addr_expr
> (*to_p),
> 7255 pre_p, post_p);
> 7256 *to_p = build_simple_mem_ref_loc (EXPR_LOCATION (*to_p),
> addr);
> 7257 }
> 7258 gimplify_seq_add_stmt (pre_p, gimple_build_assign (*to_p,
> *from_p));
> which forces _786 into memory and uses clobber on that:
> D.170183 = _786;
> _787 = &D.170183;
> *_787 = {CLOBBER(eob)};
It should not re-gimplify anything here. This reminds me of the situation
in PR119119.