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

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
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)};

Reply via email to