https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104952
--- Comment #3 from Tom de Vries <vries at gcc dot gnu.org> --- Hmm, that seems to be actually due to: ... if (sctx.is_simt) { if (!simt_lane) simt_lane = create_tmp_var (unsigned_type_node); x = build_call_expr_internal_loc (UNKNOWN_LOCATION, IFN_GOMP_SIMT_XCHG_BFLY, TREE_TYPE (ivar), 2, ivar, simt_lane); x = build2 (code, TREE_TYPE (ivar), ivar, x); gimplify_assign (ivar, x, &llist[2]); } ... which gimplifies assigning: ... (gdb) call debug_generic_expr (x) D.2163 || .GOMP_SIMT_XCHG_BFLY (D.2163, D.2164) ... to: ... (gdb) call debug_generic_expr (ivar) D.2163 ...