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"
