Dom transforms the following testcase: static int a[199];
int main () { int i, x; for (i = 0; i < 199; i++) { x = a[i]; if (x != i) abort (); } return 0; } to int main () { int i; for (i = 0; i < 199; i = x + 1) { x = a[i]; if (x != i) abort (); } return 0; } Now we are not able to determine that i is an induction variable. -- Summary: Dom creating harder to optimize code Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rakdver at gcc dot gnu dot org CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23821