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

--- Comment #1 from Alexander Ivchenko <aivchenk at gmail dot com> ---
The problem here is that chkp creates bounds for register variable:

vsdump.c.025t.chkp:
Building bounds for address of decl u                                           
Made bounds: __bound_tmp.0_4 = __builtin_ia32_bndmk (&u, 16);

And when we expanding &u we face 

expand_expr_addr_expr_1:
/* If the DECL isn't in memory, then the DECL wasn't properly
   marked TREE_ADDRESSABLE, which will be either a front-end 
   or a tree optimizer bug.  */                              
    gcc_assert (MEM_P (result));

where "result" is: (reg/v:V4SI 21 xmm0 [ u ])

We need to disable the instrumentation of register variables and the
subscriptions of those variables.
I couldn't find the correct place for that disabling so far though.

Reply via email to