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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           See Also|                            |https://gcc.gnu.org/bugzill
                   |                            |a/show_bug.cgi?id=45178,
                   |                            |https://gcc.gnu.org/bugzill
                   |                            |a/show_bug.cgi?id=102893

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #1)
> diff --git a/gcc/tree-ssa-dce.c b/gcc/tree-ssa-dce.c
> index fae5ae72340..a66fc34c9e5 100644
> --- a/gcc/tree-ssa-dce.c
> +++ b/gcc/tree-ssa-dce.c
> @@ -450,7 +450,10 @@ find_obviously_necessary_stmts (bool aggressive)
>           {
>             if (dump_file)
>               fprintf (dump_file, "cannot prove finiteness of loop %i\n",
> loop->num);
> -           mark_control_dependent_edges_necessary (loop->latch, false);
> +           if (loop->exits->next->e)
> +             mark_control_dependent_edges_necessary (loop->latch, false);
> +           else
> +             bitmap_set_bit (bb_contains_live_stmts, loop->latch->index);
>           }
>      }
>  }

A similar patch to the above was applied for PR 45178 (and then fixed such that
it is does the ->e part for PR 102893) ...

So is this fixed now?

Reply via email to