For some simple loops with early exits, like libgcc2.c:__gcc_bcmp, copy_loop_headers copies not only the header, but also the loop body, and thus disables doloop optimizations.
-- Summary: tree-ssa-loop-ch.c:copy_loop_headers performs loop unrolling Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: amylaar at gcc dot gnu dot org BugsThisDependsOn: 39302 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39305