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

--- Comment #5 from Aldy Hernandez <aldyh at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #4)
> It's
> 
> edge
> back_threader::maybe_register_path (back_threader_profitability &profit)
> {
>   edge taken_edge = find_taken_edge (m_path);
> 
>   if (taken_edge && taken_edge != UNREACHABLE_EDGE)
>     {
>       if (m_visited_bbs.contains (taken_edge->dest))
>         {
>           // Avoid circular paths by indicating there is nothing to
>           // see in this direction.
>           taken_edge = UNREACHABLE_EDGE;
> 
> not sure why though?  If we remove the above we get

There was a test we were failing because we were threading ircular paths, but
you know more about this than me ;-).  So if there are no regressions, feel
free to nuke it.

Reply via email to