Dom jump-threading iteration can partially or completely unroll a loop. This prevents analysis of number of iterations and inhibits loop optimizations by hiding the loop.
http://gcc.gnu.org/ml/gcc/2005-09/msg00303.html -- Summary: Dom jump-threading unrolls loops Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dje at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: *-*-* GCC host triplet: *-*-* GCC target triplet: *-*-* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23901