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

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
What might also cure the issue somewhat is putting down debug stmts at
definitions of register typed (but not yet register) defs.  So much like
into-SSA does when rewriting a LHS to SSA do it also for those
would-be "registers" that are not because they are address-taken.  You'd
then end up with

   l_756 = 40369;
   # DEBUG l_756 = 40369;

and

   l = &l_756;
   # DEBUG l = &l_756

the number of extra debug stmts should be limited (I hope).  It doesn't
solve the issue for indirect accesses like

  *l = ...

of course (we'd not want to emit debug resets for all possible pointed-to
vars there...).  Such indirect access can still be turned into a direct
register write later (which would be fine) or eliminated directly (not fine,
same issue as in this bug).

Reply via email to