The empty loop in the following testcase is not removed by CD-DCE but by the empty loop removal pass in 4.4.
int foo (int b, int j) { if (b) { int i; for (i = 0; i<1000; ++i) ; j = 0; } return j; } -- Summary: [4.5 Regression] Empty loop not removed Product: gcc Version: 4.5.0 Status: UNCONFIRMED Keywords: missed-optimization Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rguenth at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42906