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

--- Comment #22 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Aldy Hernandez from comment #21)
> Let me see if I understood this correctly.  We need a DSE/DCE pass right 
> before var-tracking that would eliminate the redundant `this' statements 
> right before a non debug statement.  So, for something like this:

First of all, these are GIMPLE statements, so doing anything on them can't be
right before var-tracking, which is one of the last RTL passes.
That said, I very much doubt you can DCE much here, just use -fdump-tree-*-all
to see the uids of the this PARM_DECLs/VAR_DECLs, I bet most of them will be
different.
> 
>    # DEBUG this => &cs
>    # DEBUG D#61 => &cs.D.73561
>    # DEBUG this => D#61
>    # DEBUG topol => 0
>    # DEBUG D#60 => &D#61->D.71953
>    # DEBUG this => D#60
>    # DEBUG D#59 => &D#60->rows
>    # DEBUG this => D#59
>    # DEBUG D#58 => &D#59->D.66859
>    # DEBUG this => D#58
>    # DEBUG D#57 => &D#58->_M_impl
>    # DEBUG this => D#57
>    # DEBUG this => D#57
>    # DEBUG this => D#57
>    MEM[(struct _Vector_impl *)&cs]._M_start = 0B;
>    <other non DEBUG stmts>

Reply via email to