> Are you building with --enable-checking (the default)?

On AMD I am using the François-Xavier's builds. On my G5 I use a patched
version of the Fink's info file, the answer is probably in

ConfigureParams: --prefix=%p/lib/gcc4 
--enable-languages=c,c++,fortran,objc,java --infodir='${prefix}/share/info' 
--with-gmp=%p  --with-included-gettext --host=%m-apple-darwin`uname -r|cut -f1 
-d.` `if test ! -f /usr/lib/libSystemStubs.a ; then echo -n 
"--with-as=%p/lib/odcctools/bin/as --with-ld=%p/lib/odcctools/bin/ld" ; fi`

and as far as I can tell is "no".

> Can you try compiling some of the most-affected files with -ftime-report, ...?

As a quick answer, with -ftime-report on induct.f90 I get:

[karma] lin/source% time gfortran  -ftime-report -O3 -ffast-math -funroll-loops 
induct.f90

Execution times (seconds)
 garbage collection    :   0.58 ( 1%) usr   0.11 ( 2%) sys   0.71 ( 1%) wall    
   0 kB ( 0%) ggc
 callgraph construction:   0.15 ( 0%) usr   0.02 ( 0%) sys   0.16 ( 0%) wall    
 645 kB ( 0%) ggc
 callgraph optimization:   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall    
 194 kB ( 0%) ggc
 ipa reference         :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall    
   1 kB ( 0%) ggc
 ipa pure const        :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall    
   0 kB ( 0%) ggc
 ipa type escape       :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall    
   0 kB ( 0%) ggc
 cfg construction      :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall    
  77 kB ( 0%) ggc
 cfg cleanup           :   0.08 ( 0%) usr   0.00 ( 0%) sys   0.10 ( 0%) wall    
  94 kB ( 0%) ggc
 CFG verifier          :   0.45 ( 1%) usr   0.09 ( 2%) sys   0.50 ( 1%) wall    
   0 kB ( 0%) ggc
 trivially dead code   :   0.12 ( 0%) usr   0.01 ( 0%) sys   0.28 ( 0%) wall    
   0 kB ( 0%) ggc
 life analysis         :   0.53 ( 1%) usr   0.02 ( 0%) sys   0.47 ( 1%) wall    
 505 kB ( 0%) ggc
 life info update      :   0.11 ( 0%) usr   0.01 ( 0%) sys   0.27 ( 0%) wall    
 102 kB ( 0%) ggc
 alias analysis        :   0.32 ( 1%) usr   0.02 ( 0%) sys   0.51 ( 1%) wall    
2161 kB ( 2%) ggc
 register scan         :   0.11 ( 0%) usr   0.00 ( 0%) sys   0.09 ( 0%) wall    
   7 kB ( 0%) ggc
 rebuild jump labels   :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%) wall    
   0 kB ( 0%) ggc
 parser                :   0.39 ( 1%) usr   0.04 ( 1%) sys   0.98 ( 2%) wall    
3728 kB ( 3%) ggc
 integration           :   0.01 ( 0%) usr   0.01 ( 0%) sys   0.00 ( 0%) wall    
   0 kB ( 0%) ggc
 tree gimplify         :   0.17 ( 0%) usr   0.01 ( 0%) sys   0.15 ( 0%) wall    
 977 kB ( 1%) ggc
 tree CFG construction :   0.01 ( 0%) usr   0.01 ( 0%) sys   0.02 ( 0%) wall    
1699 kB ( 1%) ggc
 tree CFG cleanup      :   0.13 ( 0%) usr   0.04 ( 1%) sys   0.16 ( 0%) wall    
 327 kB ( 0%) ggc
 tree VRP              :   0.25 ( 0%) usr   0.08 ( 2%) sys   0.36 ( 1%) wall    
2304 kB ( 2%) ggc
 tree copy propagation :   1.18 ( 2%) usr   0.31 ( 6%) sys   1.54 ( 2%) wall    
 542 kB ( 0%) ggc
 tree store copy prop  :   0.22 ( 0%) usr   0.05 ( 1%) sys   0.28 ( 0%) wall    
  93 kB ( 0%) ggc
 tree find ref. vars   :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall    
 347 kB ( 0%) ggc
 tree PTA              :   0.58 ( 1%) usr   0.01 ( 0%) sys   0.61 ( 1%) wall    
 185 kB ( 0%) ggc
 tree alias analysis   :   0.70 ( 1%) usr   0.40 ( 8%) sys   1.24 ( 2%) wall    
1747 kB ( 1%) ggc
 tree PHI insertion    :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall    
 301 kB ( 0%) ggc
 tree SSA rewrite      :   1.39 ( 2%) usr   0.38 ( 8%) sys   1.81 ( 3%) wall   
45605 kB (35%) ggc
 tree SSA other        :   0.06 ( 0%) usr   0.04 ( 1%) sys   0.10 ( 0%) wall    
   0 kB ( 0%) ggc
 tree SSA incremental  :   3.70 ( 6%) usr   0.13 ( 3%) sys   3.82 ( 6%) wall    
7379 kB ( 6%) ggc
 tree operand scan     :   1.20 ( 2%) usr   0.63 (13%) sys   1.93 ( 3%) wall   
19607 kB (15%) ggc
 dominator optimization:   0.96 ( 2%) usr   0.03 ( 1%) sys   0.96 ( 2%) wall    
3806 kB ( 3%) ggc
 tree SRA              :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall    
   0 kB ( 0%) ggc
 tree STORE-CCP        :   0.16 ( 0%) usr   0.05 ( 1%) sys   0.16 ( 0%) wall    
  39 kB ( 0%) ggc
 tree CCP              :   0.17 ( 0%) usr   0.03 ( 1%) sys   0.18 ( 0%) wall    
  17 kB ( 0%) ggc
 tree split crit edges :   0.03 ( 0%) usr   0.02 ( 0%) sys   0.05 ( 0%) wall    
1842 kB ( 1%) ggc
 tree reassociation    :   0.05 ( 0%) usr   0.03 ( 1%) sys   0.05 ( 0%) wall    
  42 kB ( 0%) ggc
 tree PRE              :   0.56 ( 1%) usr   0.04 ( 1%) sys   0.58 ( 1%) wall    
1264 kB ( 1%) ggc
 tree FRE              :   0.17 ( 0%) usr   0.01 ( 0%) sys   0.21 ( 0%) wall    
1014 kB ( 1%) ggc
 tree code sinking     :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall    
   9 kB ( 0%) ggc
 tree forward propagate:   0.02 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall    
   4 kB ( 0%) ggc
 tree conservative DCE :   0.45 ( 1%) usr   0.00 ( 0%) sys   0.43 ( 1%) wall    
   0 kB ( 0%) ggc
 tree aggressive DCE   :   0.13 ( 0%) usr   0.00 ( 0%) sys   0.15 ( 0%) wall    
   0 kB ( 0%) ggc
 tree DSE              :   0.06 ( 0%) usr   0.00 ( 0%) sys   0.08 ( 0%) wall    
  87 kB ( 0%) ggc
 PHI merge             :   0.06 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%) wall    
1368 kB ( 1%) ggc
 tree loop bounds      :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%) wall    
 210 kB ( 0%) ggc
 loop invariant motion :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall    
  12 kB ( 0%) ggc
 tree canonical iv     :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall    
 109 kB ( 0%) ggc
 scev constant prop    :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall    
  36 kB ( 0%) ggc
 tree loop unswitching :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall    
   0 kB ( 0%) ggc
 complete unrolling    :   0.82 ( 1%) usr   0.04 ( 1%) sys   1.07 ( 2%) wall    
 737 kB ( 1%) ggc
 tree iv optimization  :   0.10 ( 0%) usr   0.00 ( 0%) sys   0.09 ( 0%) wall    
 916 kB ( 1%) ggc
 tree loop init        :   0.07 ( 0%) usr   0.02 ( 0%) sys   0.13 ( 0%) wall    
   0 kB ( 0%) ggc
 tree copy headers     :   0.02 ( 0%) usr   0.01 ( 0%) sys   0.04 ( 0%) wall    
2030 kB ( 2%) ggc
 tree SSA uncprop      :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall    
   0 kB ( 0%) ggc
 tree SSA to normal    :   0.20 ( 0%) usr   0.13 ( 3%) sys   0.33 ( 1%) wall    
1386 kB ( 1%) ggc
 tree rename SSA copies:   0.06 ( 0%) usr   0.12 ( 2%) sys   0.15 ( 0%) wall    
   0 kB ( 0%) ggc
 tree SSA verifier     :  28.82 (50%) usr   1.12 (23%) sys  30.10 (48%) wall    
  19 kB ( 0%) ggc
 tree STMT verifier    :   4.78 ( 8%) usr   0.18 ( 4%) sys   4.92 ( 8%) wall    
   0 kB ( 0%) ggc
 callgraph verifier    :   0.02 ( 0%) usr   0.02 ( 0%) sys   0.05 ( 0%) wall    
   0 kB ( 0%) ggc
 dominance frontiers   :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall    
   0 kB ( 0%) ggc
 expand                :   1.29 ( 2%) usr   0.09 ( 2%) sys   1.43 ( 2%) wall    
9358 kB ( 7%) ggc
 jump                  :   0.02 ( 0%) usr   0.01 ( 0%) sys   0.00 ( 0%) wall    
  18 kB ( 0%) ggc
 CSE                   :   0.63 ( 1%) usr   0.03 ( 1%) sys   0.63 ( 1%) wall    
 443 kB ( 0%) ggc
 loop analysis         :   0.26 ( 0%) usr   0.10 ( 2%) sys   0.34 ( 1%) wall    
1635 kB ( 1%) ggc
 global CSE            :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall    
   0 kB ( 0%) ggc
 CPROP 1               :   0.08 ( 0%) usr   0.01 ( 0%) sys   0.07 ( 0%) wall    
 567 kB ( 0%) ggc
 PRE                   :   0.06 ( 0%) usr   0.02 ( 0%) sys   0.09 ( 0%) wall    
 355 kB ( 0%) ggc
 CPROP 2               :   0.11 ( 0%) usr   0.00 ( 0%) sys   0.08 ( 0%) wall    
 269 kB ( 0%) ggc
 bypass jumps          :   0.09 ( 0%) usr   0.01 ( 0%) sys   0.10 ( 0%) wall    
 238 kB ( 0%) ggc
 web                   :   0.09 ( 0%) usr   0.02 ( 0%) sys   0.12 ( 0%) wall    
 203 kB ( 0%) ggc
 CSE 2                 :   0.41 ( 1%) usr   0.01 ( 0%) sys   0.46 ( 1%) wall    
 271 kB ( 0%) ggc
 branch prediction     :   0.04 ( 0%) usr   0.01 ( 0%) sys   0.06 ( 0%) wall    
 143 kB ( 0%) ggc
 flow analysis         :   0.00 ( 0%) usr   0.01 ( 0%) sys   0.03 ( 0%) wall    
   0 kB ( 0%) ggc
 combiner              :   0.33 ( 1%) usr   0.00 ( 0%) sys   0.34 ( 1%) wall    
1379 kB ( 1%) ggc
 if-conversion         :   0.00 ( 0%) usr   0.01 ( 0%) sys   0.02 ( 0%) wall    
  19 kB ( 0%) ggc
 regmove               :   0.10 ( 0%) usr   0.01 ( 0%) sys   0.09 ( 0%) wall    
   3 kB ( 0%) ggc
 scheduling            :   0.44 ( 1%) usr   0.09 ( 2%) sys   0.45 ( 1%) wall    
2689 kB ( 2%) ggc
 local alloc           :   0.30 ( 1%) usr   0.03 ( 1%) sys   0.32 ( 1%) wall    
 596 kB ( 0%) ggc
 global alloc          :   0.92 ( 2%) usr   0.03 ( 1%) sys   0.90 ( 1%) wall    
2497 kB ( 2%) ggc
 reload CSE regs       :   0.33 ( 1%) usr   0.01 ( 0%) sys   0.32 ( 1%) wall    
1198 kB ( 1%) ggc
 load CSE after reload :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall    
  13 kB ( 0%) ggc
 flow 2                :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall    
 200 kB ( 0%) ggc
 if-conversion 2       :   0.00 ( 0%) usr   0.01 ( 0%) sys   0.01 ( 0%) wall    
   4 kB ( 0%) ggc
 peephole 2            :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall    
   0 kB ( 0%) ggc
 rename registers      :   0.48 ( 1%) usr   0.02 ( 0%) sys   0.50 ( 1%) wall    
 610 kB ( 0%) ggc
 scheduling 2          :   0.40 ( 1%) usr   0.02 ( 0%) sys   0.36 ( 1%) wall    
2552 kB ( 2%) ggc
 reorder blocks        :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall    
 159 kB ( 0%) ggc
 shorten branches      :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall    
   0 kB ( 0%) ggc
 final                 :   0.16 ( 0%) usr   0.00 ( 0%) sys   0.16 ( 0%) wall    
 350 kB ( 0%) ggc
 TOTAL                 :  57.21             4.84            63.35             
129840 kB
Extra diagnostic checks enabled; compiler may run slowly.
Configure with --disable-checking to disable checks.
57.300u 4.940s 1:03.76 97.6%    0+0k 8+23io 0pf+0w

where tree SSA verifier takes half the time. I'll do some check on AMD wher I 
can
more easily chose the version of gfortran I am using.

Cheers

Dominique

Reply via email to