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

--- Comment #13 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #12)
> So this looks like it comes from cleanup_tree_cfg_noloop then we undo it.
> Specifically this:
>             /* If we have more than one entry to the loop header
>                create a forwarder.  */
> 
> So let's try not remove that ....

That also fixes:
+FAIL: gcc.dg/tree-ssa/ssa-sink-18.c scan-tree-dump-times sink2 "Sunk
statements: 5" 1
+FAIL: c-c++-common/unroll-1.c  -Wc++-compat   scan-rtl-dump loop2_unroll
"3[79]:.*: optimized: loop unrolled 2 times"
+FAIL: c-c++-common/unroll-2.c  -Wc++-compat   scan-rtl-dump loop2_unroll
"3[79]:.*: optimized: loop unrolled 2 times"
+FAIL: c-c++-common/unroll-3.c  -Wc++-compat   scan-rtl-dump loop2_unroll
"3[79]:.*: optimized: loop unrolled 2 times"

Reply via email to