There was some discussion on the GCC mailing list in late August, early September about a performance regression caused by the disabling of the old loop optimizer when doing FDO.
http://gcc.gnu.org/ml/gcc/2005-08/msg00899.html Loop invariant motions done by the old loop optimizer no longer occur. This is causing a performance regression on some benchmarks. The following patch enables loop invariant motions during FDO and fixes the observed performance regression: http://gcc.gnu.org/ml/gcc-patches/2005-10/msg00224.html -- Summary: [4.1 Regression] Invariant code no longer removed from loop when doing FDO. Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: steinmtz at us dot ibm dot com GCC host triplet: powerpc64-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24408