http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45422
--- Comment #37 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-01-27 15:55:57 UTC --- /usr/src/gcc/objr/gcc/f951 -quiet -ftime-report -fbounds-check -g -O3 -ffast-math -funroll-loops -ftree-vectorize -march=amdfam10 pr45422.f90 2>&1 | grep ':[ ]*[1-9]\|TOTAL' garbage collection : 1.34 ( 1%) usr 0.00 ( 0%) sys 1.32 ( 1%) wall 0 kB ( 0%) ggc cfg cleanup : 2.24 ( 2%) usr 0.01 ( 0%) sys 2.26 ( 2%) wall 7301 kB ( 0%) ggc df reaching defs : 1.46 ( 1%) usr 0.02 ( 1%) sys 1.34 ( 1%) wall 0 kB ( 0%) ggc df live regs : 8.28 ( 6%) usr 0.02 ( 1%) sys 8.49 ( 6%) wall 0 kB ( 0%) ggc df live&initialized regs: 2.46 ( 2%) usr 0.00 ( 0%) sys 2.98 ( 2%) wall 0 kB ( 0%) ggc df use-def / def-use chains: 1.31 ( 1%) usr 0.00 ( 0%) sys 1.13 ( 1%) wall 0 kB ( 0%) ggc df reg dead/unused notes: 4.01 ( 3%) usr 0.00 ( 0%) sys 4.03 ( 3%) wall 7770 kB ( 0%) ggc register information : 1.48 ( 1%) usr 0.00 ( 0%) sys 1.53 ( 1%) wall 0 kB ( 0%) ggc alias analysis : 1.86 ( 1%) usr 0.00 ( 0%) sys 1.89 ( 1%) wall 46655 kB ( 3%) ggc tree VRP : 2.25 ( 2%) usr 0.08 ( 4%) sys 2.27 ( 2%) wall 74472 kB ( 4%) ggc tree SSA incremental : 1.43 ( 1%) usr 0.25 (11%) sys 1.34 ( 1%) wall 7187 kB ( 0%) ggc complete unrolling : 1.19 ( 1%) usr 0.14 ( 6%) sys 1.24 ( 1%) wall 91809 kB ( 5%) ggc tree prefetching : 1.31 ( 1%) usr 0.12 ( 5%) sys 1.50 ( 1%) wall 92179 kB ( 5%) ggc tree iv optimization : 15.43 (11%) usr 0.09 ( 4%) sys 15.62 (11%) wall 303704 kB (17%) ggc expand : 1.11 ( 1%) usr 0.03 ( 1%) sys 1.11 ( 1%) wall 81489 kB ( 5%) ggc forward prop : 1.17 ( 1%) usr 0.01 ( 0%) sys 1.19 ( 1%) wall 16030 kB ( 1%) ggc CSE : 1.58 ( 1%) usr 0.01 ( 0%) sys 1.42 ( 1%) wall 667 kB ( 0%) ggc dead code elimination : 1.24 ( 1%) usr 0.00 ( 0%) sys 1.30 ( 1%) wall 0 kB ( 0%) ggc dead store elim1 : 1.37 ( 1%) usr 0.00 ( 0%) sys 1.31 ( 1%) wall 23509 kB ( 1%) ggc dead store elim2 : 1.10 ( 1%) usr 0.00 ( 0%) sys 1.08 ( 1%) wall 22323 kB ( 1%) ggc loop unrolling : 3.99 ( 3%) usr 0.03 ( 1%) sys 4.11 ( 3%) wall 185245 kB (11%) ggc CPROP : 2.25 ( 2%) usr 0.01 ( 0%) sys 2.00 ( 1%) wall 25084 kB ( 1%) ggc PRE : 1.20 ( 1%) usr 0.00 ( 0%) sys 1.13 ( 1%) wall 1576 kB ( 0%) ggc web : 1.09 ( 1%) usr 0.00 ( 0%) sys 1.09 ( 1%) wall 8368 kB ( 0%) ggc CSE 2 : 2.10 ( 2%) usr 0.01 ( 0%) sys 2.17 ( 2%) wall 2122 kB ( 0%) ggc combiner : 3.97 ( 3%) usr 0.00 ( 0%) sys 3.96 ( 3%) wall 60594 kB ( 3%) ggc integrated RA : 10.18 ( 7%) usr 0.01 ( 0%) sys 10.27 ( 7%) wall 44477 kB ( 3%) ggc reload : 6.31 ( 5%) usr 0.01 ( 0%) sys 6.24 ( 4%) wall 10153 kB ( 1%) ggc reload CSE regs : 4.39 ( 3%) usr 0.01 ( 0%) sys 4.17 ( 3%) wall 37354 kB ( 2%) ggc rename registers : 1.13 ( 1%) usr 0.00 ( 0%) sys 1.18 ( 1%) wall 2500 kB ( 0%) ggc scheduling 2 : 5.84 ( 4%) usr 0.02 ( 1%) sys 5.81 ( 4%) wall 1160 kB ( 0%) ggc final : 4.29 ( 3%) usr 0.04 ( 2%) sys 4.66 ( 3%) wall 10463 kB ( 1%) ggc variable tracking : 2.76 ( 2%) usr 0.01 ( 0%) sys 2.73 ( 2%) wall 64964 kB ( 4%) ggc var-tracking dataflow : 3.86 ( 3%) usr 0.02 ( 1%) sys 3.90 ( 3%) wall 0 kB ( 0%) ggc var-tracking emit : 3.89 ( 3%) usr 0.01 ( 0%) sys 3.85 ( 3%) wall 19488 kB ( 1%) ggc rest of compilation : 2.27 ( 2%) usr 0.08 ( 4%) sys 2.28 ( 2%) wall 21438 kB ( 1%) ggc remove unused locals : 1.02 ( 1%) usr 0.01 ( 0%) sys 0.92 ( 1%) wall 0 kB ( 0%) ggc unaccounted todo : 1.21 ( 1%) usr 0.05 ( 2%) sys 1.19 ( 1%) wall 8 kB ( 0%) ggc TOTAL : 137.09 2.28 139.39 1741129 kB /usr/src/gcc-4.5/objr/gcc/f951 -quiet -ftime-report -fbounds-check -g -O3 -ffast-math -funroll-loops -ftree-vectorize -march=amdfam10 pr45422.f90 2>&1 | grep ':[ ]*[1-9]\|TOTAL' df live regs : 2.05 ( 4%) usr 0.00 ( 0%) sys 1.95 ( 4%) wall 0 kB ( 0%) ggc tree VRP : 1.43 ( 3%) usr 0.15 ( 8%) sys 1.47 ( 3%) wall 56376 kB ( 6%) ggc complete unrolling : 1.14 ( 2%) usr 0.18 (10%) sys 1.39 ( 3%) wall 98554 kB (11%) ggc tree iv optimization : 5.31 (10%) usr 0.05 ( 3%) sys 5.40 (10%) wall 95356 kB (11%) ggc expand : 2.98 ( 6%) usr 0.11 ( 6%) sys 3.29 ( 6%) wall 69642 kB ( 8%) ggc combiner : 1.49 ( 3%) usr 0.00 ( 0%) sys 1.22 ( 2%) wall 19980 kB ( 2%) ggc integrated RA : 3.60 ( 7%) usr 0.01 ( 1%) sys 3.56 ( 6%) wall 12746 kB ( 1%) ggc reload : 2.21 ( 4%) usr 0.01 ( 1%) sys 2.18 ( 4%) wall 7748 kB ( 1%) ggc reload CSE regs : 1.24 ( 2%) usr 0.01 ( 1%) sys 1.16 ( 2%) wall 12330 kB ( 1%) ggc scheduling 2 : 2.73 ( 5%) usr 0.01 ( 1%) sys 2.88 ( 5%) wall 1218 kB ( 0%) ggc final : 3.14 ( 6%) usr 0.03 ( 2%) sys 3.16 ( 6%) wall 7438 kB ( 1%) ggc variable tracking : 4.18 ( 8%) usr 0.03 ( 2%) sys 4.25 ( 8%) wall 40204 kB ( 4%) ggc TOTAL : 53.49 1.81 55.45 897516 kB /usr/src/gcc/objr/gcc/f951 -quiet -ftime-report -fbounds-check -g -O3 -ffast-math -funroll-loops -ftree-vectorize -march=amdfam10 pr45422.f90 -fno-ivopts 2>&1 | grep ':[ ]*[1-9]\|TOTAL' cfg cleanup : 1.83 ( 2%) usr 0.01 ( 0%) sys 1.71 ( 2%) wall 7191 kB ( 1%) ggc df reaching defs : 1.25 ( 1%) usr 0.00 ( 0%) sys 1.33 ( 1%) wall 0 kB ( 0%) ggc df live regs : 6.19 ( 6%) usr 0.06 ( 3%) sys 6.34 ( 6%) wall 0 kB ( 0%) ggc df live&initialized regs: 2.47 ( 2%) usr 0.02 ( 1%) sys 2.06 ( 2%) wall 0 kB ( 0%) ggc df reg dead/unused notes: 2.82 ( 3%) usr 0.01 ( 0%) sys 2.79 ( 3%) wall 9653 kB ( 1%) ggc register information : 1.19 ( 1%) usr 0.00 ( 0%) sys 1.21 ( 1%) wall 0 kB ( 0%) ggc alias analysis : 1.75 ( 2%) usr 0.00 ( 0%) sys 1.81 ( 2%) wall 48001 kB ( 3%) ggc tree CFG cleanup : 1.08 ( 1%) usr 0.01 ( 0%) sys 1.10 ( 1%) wall 4079 kB ( 0%) ggc tree VRP : 2.13 ( 2%) usr 0.05 ( 2%) sys 2.43 ( 2%) wall 76935 kB ( 5%) ggc tree SSA incremental : 1.23 ( 1%) usr 0.20 ( 9%) sys 1.48 ( 1%) wall 7193 kB ( 1%) ggc tree CCP : 1.00 ( 1%) usr 0.06 ( 3%) sys 1.12 ( 1%) wall 4975 kB ( 0%) ggc complete unrolling : 1.15 ( 1%) usr 0.16 ( 7%) sys 1.12 ( 1%) wall 91888 kB ( 6%) ggc tree prefetching : 1.45 ( 1%) usr 0.07 ( 3%) sys 1.38 ( 1%) wall 92015 kB ( 6%) ggc expand : 1.30 ( 1%) usr 0.03 ( 1%) sys 1.23 ( 1%) wall 98494 kB ( 7%) ggc forward prop : 1.19 ( 1%) usr 0.01 ( 0%) sys 1.05 ( 1%) wall 17136 kB ( 1%) ggc CSE : 1.64 ( 2%) usr 0.00 ( 0%) sys 1.51 ( 1%) wall 683 kB ( 0%) ggc dead store elim1 : 1.08 ( 1%) usr 0.00 ( 0%) sys 1.23 ( 1%) wall 24050 kB ( 2%) ggc loop unrolling : 3.38 ( 3%) usr 0.06 ( 3%) sys 3.69 ( 3%) wall 165346 kB (12%) ggc CPROP : 1.92 ( 2%) usr 0.02 ( 1%) sys 2.11 ( 2%) wall 23260 kB ( 2%) ggc PRE : 1.23 ( 1%) usr 0.00 ( 0%) sys 1.06 ( 1%) wall 1979 kB ( 0%) ggc CSE 2 : 1.98 ( 2%) usr 0.01 ( 0%) sys 1.94 ( 2%) wall 2631 kB ( 0%) ggc combiner : 4.33 ( 4%) usr 0.00 ( 0%) sys 4.40 ( 4%) wall 76446 kB ( 5%) ggc integrated RA : 8.83 ( 8%) usr 0.03 ( 1%) sys 9.07 ( 8%) wall 46246 kB ( 3%) ggc reload : 5.16 ( 5%) usr 0.02 ( 1%) sys 5.12 ( 5%) wall 9244 kB ( 1%) ggc reload CSE regs : 3.47 ( 3%) usr 0.01 ( 0%) sys 3.59 ( 3%) wall 34826 kB ( 2%) ggc rename registers : 1.21 ( 1%) usr 0.00 ( 0%) sys 1.13 ( 1%) wall 2675 kB ( 0%) ggc scheduling 2 : 5.54 ( 5%) usr 0.01 ( 0%) sys 5.46 ( 5%) wall 1216 kB ( 0%) ggc final : 3.94 ( 4%) usr 0.08 ( 4%) sys 4.16 ( 4%) wall 9291 kB ( 1%) ggc variable tracking : 2.23 ( 2%) usr 0.05 ( 2%) sys 2.42 ( 2%) wall 61607 kB ( 4%) ggc var-tracking dataflow : 3.97 ( 4%) usr 0.00 ( 0%) sys 3.76 ( 3%) wall 0 kB ( 0%) ggc var-tracking emit : 3.75 ( 3%) usr 0.01 ( 0%) sys 3.91 ( 4%) wall 21108 kB ( 1%) ggc rest of compilation : 1.84 ( 2%) usr 0.08 ( 4%) sys 2.11 ( 2%) wall 16864 kB ( 1%) ggc TOTAL : 107.95 2.25 110.22 1435716 kB shows that still the ivopts slowdown isn't so significant, the compiler on this testcase just slowed down everywhere. Both f951 binaries are --enable-checking=release. Suprisingly -fno-while-file on the trunk doesn't make any visible difference in compile time.