This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/45422] New: [4.6 Regression] compile time increases 8x.


compiling the to-be-attached testcase as:

gfortran -c -ftime-report -cpp -fbounds-check -g -O3 -ffast-math -funroll-loops
-ftree-vectorize -march=native -ffree-form test.f90

massively slowed down in 4.6

4.4:  51s
4.5:  50s
4.6: 434s

the timing report look like:

Execution times (seconds)
 garbage collection    :  15.35 ( 4%) usr   0.04 ( 2%) sys  15.35 ( 4%) wall   
   0 kB ( 0%) ggc
 callgraph construction:   0.07 ( 0%) usr   0.01 ( 1%) sys   0.08 ( 0%) wall   
5736 kB ( 0%) ggc
 callgraph optimization:   0.41 ( 0%) usr   0.01 ( 0%) sys   0.34 ( 0%) wall   
 725 kB ( 0%) ggc
 ipa cp                :   0.11 ( 0%) usr   0.00 ( 0%) sys   0.11 ( 0%) wall   
1347 kB ( 0%) ggc
 ipa function splitting:   0.03 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 ipa reference         :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 ipa profile           :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 ipa pure const        :   0.14 ( 0%) usr   0.01 ( 0%) sys   0.19 ( 0%) wall   
   0 kB ( 0%) ggc
 cfg cleanup           :   2.47 ( 1%) usr   0.00 ( 0%) sys   3.10 ( 1%) wall   
4726 kB ( 0%) ggc
 CFG verifier          :   6.48 ( 1%) usr   0.02 ( 1%) sys   6.76 ( 2%) wall   
   0 kB ( 0%) ggc
 trivially dead code   :   0.94 ( 0%) usr   0.00 ( 0%) sys   0.76 ( 0%) wall   
   0 kB ( 0%) ggc
 df multiple defs      :   0.44 ( 0%) usr   0.01 ( 1%) sys   0.37 ( 0%) wall   
   0 kB ( 0%) ggc
 df reaching defs      :   2.38 ( 1%) usr   0.02 ( 1%) sys   2.41 ( 1%) wall   
   0 kB ( 0%) ggc
 df live regs          :  12.32 ( 3%) usr   0.03 ( 2%) sys  12.19 ( 3%) wall   
   0 kB ( 0%) ggc
 df live&initialized regs:   4.24 ( 1%) usr   0.01 ( 1%) sys   4.31 ( 1%) wall 
     0 kB ( 0%) ggc
 df use-def / def-use chains:   1.72 ( 0%) usr   0.01 ( 1%) sys   1.54 ( 0%)
wall       0 kB ( 0%) ggc
 df live reg subwords  :   0.35 ( 0%) usr   0.00 ( 0%) sys   0.32 ( 0%) wall   
   0 kB ( 0%) ggc
 df reg dead/unused notes:   6.24 ( 1%) usr   0.01 ( 1%) sys   6.17 ( 1%) wall 
  8317 kB ( 0%) ggc
 register information  :   2.34 ( 1%) usr   0.00 ( 0%) sys   2.39 ( 1%) wall   
   0 kB ( 0%) ggc
 alias analysis        :   2.25 ( 1%) usr   0.02 ( 1%) sys   2.22 ( 1%) wall  
47018 kB ( 3%) ggc
 alias stmt walking    :   0.63 ( 0%) usr   0.03 ( 2%) sys   0.83 ( 0%) wall   
6938 kB ( 0%) ggc
 register scan         :   0.37 ( 0%) usr   0.00 ( 0%) sys   0.33 ( 0%) wall   
 298 kB ( 0%) ggc
 rebuild jump labels   :   0.70 ( 0%) usr   0.00 ( 0%) sys   0.67 ( 0%) wall   
   0 kB ( 0%) ggc
 parser                :   0.94 ( 0%) usr   0.11 ( 6%) sys   1.06 ( 0%) wall  
55368 kB ( 3%) ggc
 inline heuristics     :   0.23 ( 0%) usr   0.00 ( 0%) sys   0.26 ( 0%) wall   
   0 kB ( 0%) ggc
 tree gimplify         :   0.64 ( 0%) usr   0.01 ( 0%) sys   0.53 ( 0%) wall  
48405 kB ( 3%) ggc
 tree eh               :   0.02 ( 0%) usr   0.01 ( 1%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 tree CFG construction :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.08 ( 0%) wall  
11974 kB ( 1%) ggc
 tree CFG cleanup      :   1.10 ( 0%) usr   0.00 ( 0%) sys   1.34 ( 0%) wall   
3531 kB ( 0%) ggc
 tree VRP              :   2.91 ( 1%) usr   0.04 ( 2%) sys   2.76 ( 1%) wall  
67348 kB ( 4%) ggc
 tree copy propagation :   0.21 ( 0%) usr   0.03 ( 2%) sys   0.25 ( 0%) wall   
1384 kB ( 0%) ggc
 tree find ref. vars   :   0.11 ( 0%) usr   0.01 ( 1%) sys   0.06 ( 0%) wall   
3806 kB ( 0%) ggc
 tree PTA              :   0.36 ( 0%) usr   0.01 ( 1%) sys   0.42 ( 0%) wall   
5199 kB ( 0%) ggc
 tree PHI insertion    :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
3194 kB ( 0%) ggc
 tree SSA rewrite      :   0.57 ( 0%) usr   0.00 ( 0%) sys   0.55 ( 0%) wall  
14011 kB ( 1%) ggc
 tree SSA other        :   0.10 ( 0%) usr   0.02 ( 1%) sys   0.13 ( 0%) wall   
 432 kB ( 0%) ggc
 tree SSA incremental  :   1.38 ( 0%) usr   0.15 ( 8%) sys   1.62 ( 0%) wall   
7441 kB ( 0%) ggc
 tree operand scan     :   0.57 ( 0%) usr   0.36 (18%) sys   0.84 ( 0%) wall  
58289 kB ( 3%) ggc
 dominator optimization:   0.56 ( 0%) usr   0.02 ( 1%) sys   0.65 ( 0%) wall   
8527 kB ( 0%) ggc
 tree SRA              :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall   
   0 kB ( 0%) ggc
 tree CCP              :   1.14 ( 0%) usr   0.02 ( 1%) sys   1.15 ( 0%) wall   
4845 kB ( 0%) ggc
 tree PHI const/copy prop:   0.03 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall 
   106 kB ( 0%) ggc
 tree split crit edges :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall   
2014 kB ( 0%) ggc
 tree reassociation    :   0.24 ( 0%) usr   0.02 ( 1%) sys   0.29 ( 0%) wall   
6030 kB ( 0%) ggc
 tree PRE              :   0.91 ( 0%) usr   0.02 ( 1%) sys   1.08 ( 0%) wall   
7164 kB ( 0%) ggc
 tree FRE              :   0.53 ( 0%) usr   0.01 ( 1%) sys   0.52 ( 0%) wall   
5411 kB ( 0%) ggc
 tree code sinking     :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
1311 kB ( 0%) ggc
 tree linearize phis   :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 tree forward propagate:   0.27 ( 0%) usr   0.00 ( 0%) sys   0.32 ( 0%) wall  
11820 kB ( 1%) ggc
 tree phiprop          :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 tree conservative DCE :   0.17 ( 0%) usr   0.01 ( 1%) sys   0.18 ( 0%) wall   
 576 kB ( 0%) ggc
 tree aggressive DCE   :   1.04 ( 0%) usr   0.03 ( 2%) sys   1.10 ( 0%) wall  
25495 kB ( 1%) ggc
 tree buildin call DCE :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 tree DSE              :   0.28 ( 0%) usr   0.00 ( 0%) sys   0.36 ( 0%) wall   
 260 kB ( 0%) ggc
 PHI merge             :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 tree loop bounds      :   0.23 ( 0%) usr   0.00 ( 0%) sys   0.22 ( 0%) wall   
6686 kB ( 0%) ggc
 tree loop invariant motion:   0.06 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%)
wall      76 kB ( 0%) ggc
 tree canonical iv     :   0.09 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
3421 kB ( 0%) ggc
 scev constant prop    :   0.06 ( 0%) usr   0.00 ( 0%) sys   0.07 ( 0%) wall   
2302 kB ( 0%) ggc
 tree loop unswitching :   0.01 ( 0%) usr   0.01 ( 1%) sys   0.03 ( 0%) wall   
 739 kB ( 0%) ggc
 complete unrolling    :   1.59 ( 0%) usr   0.12 ( 6%) sys   1.48 ( 0%) wall 
101520 kB ( 6%) ggc
 tree vectorization    :   0.38 ( 0%) usr   0.00 ( 0%) sys   0.39 ( 0%) wall  
20119 kB ( 1%) ggc
 tree slp vectorization:   0.99 ( 0%) usr   0.00 ( 0%) sys   0.80 ( 0%) wall  
52747 kB ( 3%) ggc
 tree loop distribution:   0.01 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 tree prefetching      :   3.37 ( 1%) usr   0.07 ( 3%) sys   3.36 ( 1%) wall  
90902 kB ( 5%) ggc
 tree iv optimization  : 193.28 (44%) usr   0.05 ( 2%) sys 193.22 (44%) wall 
322316 kB (18%) ggc
 predictive commoning  :   0.06 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
1752 kB ( 0%) ggc
 tree loop init        :   0.07 ( 0%) usr   0.01 ( 1%) sys   0.04 ( 0%) wall   
1307 kB ( 0%) ggc
 tree loop fini        :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 tree copy headers     :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
1658 kB ( 0%) ggc
 tree SSA uncprop      :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 tree rename SSA copies:   0.05 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%) wall   
   0 kB ( 0%) ggc
 tree SSA verifier     :   7.77 ( 2%) usr   0.07 ( 3%) sys   8.45 ( 2%) wall   
   0 kB ( 0%) ggc
 tree STMT verifier    :  15.39 ( 4%) usr   0.00 ( 0%) sys  15.16 ( 3%) wall   
   0 kB ( 0%) ggc
 tree switch initialization conversion:   0.00 ( 0%) usr   0.00 ( 0%) sys  
0.01 ( 0%) wall       0 kB ( 0%) ggc
 callgraph verifier    :   1.12 ( 0%) usr   0.01 ( 1%) sys   1.12 ( 0%) wall   
   0 kB ( 0%) ggc
 dominance frontiers   :   0.35 ( 0%) usr   0.00 ( 0%) sys   0.36 ( 0%) wall   
   0 kB ( 0%) ggc
 dominance computation :   0.90 ( 0%) usr   0.01 ( 1%) sys   0.82 ( 0%) wall   
   0 kB ( 0%) ggc
 control dependences   :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall   
   0 kB ( 0%) ggc
 out of ssa            :   0.38 ( 0%) usr   0.00 ( 0%) sys   0.32 ( 0%) wall   
 225 kB ( 0%) ggc
 expand vars           :   0.12 ( 0%) usr   0.00 ( 0%) sys   0.11 ( 0%) wall  
11174 kB ( 1%) ggc
 expand                :  16.44 ( 4%) usr   0.05 ( 2%) sys  16.36 ( 4%) wall 
111440 kB ( 6%) ggc
 post expand cleanups  :   0.11 ( 0%) usr   0.00 ( 0%) sys   0.14 ( 0%) wall   
5818 kB ( 0%) ggc
 lower subreg          :   0.18 ( 0%) usr   0.00 ( 0%) sys   0.24 ( 0%) wall   
   0 kB ( 0%) ggc
 forward prop          :   1.79 ( 0%) usr   0.00 ( 0%) sys   1.87 ( 0%) wall  
15809 kB ( 1%) ggc
 CSE                   :   1.59 ( 0%) usr   0.00 ( 0%) sys   1.66 ( 0%) wall   
 662 kB ( 0%) ggc
 dead code elimination :   2.31 ( 1%) usr   0.00 ( 0%) sys   2.27 ( 1%) wall   
   0 kB ( 0%) ggc
 dead store elim1      :   1.54 ( 0%) usr   0.01 ( 1%) sys   1.67 ( 0%) wall  
23524 kB ( 1%) ggc
 dead store elim2      :   2.41 ( 1%) usr   0.00 ( 0%) sys   2.49 ( 1%) wall  
22835 kB ( 1%) ggc
 loop analysis         :   0.20 ( 0%) usr   0.00 ( 0%) sys   0.17 ( 0%) wall   
2220 kB ( 0%) ggc
 loop invariant motion :   0.28 ( 0%) usr   0.01 ( 0%) sys   0.22 ( 0%) wall   
 448 kB ( 0%) ggc
 loop unswitching      :   5.71 ( 1%) usr   0.01 ( 1%) sys   5.68 ( 1%) wall   
 218 kB ( 0%) ggc
 loop unrolling        :  30.36 ( 7%) usr   0.04 ( 2%) sys  30.75 ( 7%) wall 
184992 kB (10%) ggc
 CPROP                 :   2.56 ( 1%) usr   0.00 ( 0%) sys   2.62 ( 1%) wall  
25399 kB ( 1%) ggc
 PRE                   :   1.53 ( 0%) usr   0.00 ( 0%) sys   1.43 ( 0%) wall   
1798 kB ( 0%) ggc
 web                   :   2.76 ( 1%) usr   0.01 ( 1%) sys   2.57 ( 1%) wall   
8429 kB ( 0%) ggc
 CSE 2                 :   2.39 ( 1%) usr   0.00 ( 0%) sys   2.41 ( 1%) wall   
2123 kB ( 0%) ggc
 branch prediction     :   0.22 ( 0%) usr   0.01 ( 1%) sys   0.17 ( 0%) wall   
6857 kB ( 0%) ggc
 combiner              :   4.33 ( 1%) usr   0.00 ( 0%) sys   4.57 ( 1%) wall  
60529 kB ( 3%) ggc
 if-conversion         :   0.22 ( 0%) usr   0.00 ( 0%) sys   0.24 ( 0%) wall   
2520 kB ( 0%) ggc
 regmove               :   0.88 ( 0%) usr   0.00 ( 0%) sys   0.90 ( 0%) wall   
   0 kB ( 0%) ggc
 mode switching        :   0.01 ( 0%) usr   0.01 ( 1%) sys   0.00 ( 0%) wall   
   0 kB ( 0%) ggc
 integrated RA         :  16.20 ( 4%) usr   0.04 ( 2%) sys  16.28 ( 4%) wall  
44292 kB ( 2%) ggc
 reload                :   7.72 ( 2%) usr   0.02 ( 1%) sys   7.47 ( 2%) wall  
10065 kB ( 1%) ggc
 reload CSE regs       :   4.83 ( 1%) usr   0.00 ( 0%) sys   4.84 ( 1%) wall  
36964 kB ( 2%) ggc
 load CSE after reload :   0.50 ( 0%) usr   0.00 ( 0%) sys   0.52 ( 0%) wall   
 449 kB ( 0%) ggc
 zee                   :   0.36 ( 0%) usr   0.00 ( 0%) sys   0.45 ( 0%) wall   
  45 kB ( 0%) ggc
 thread pro- & epilogue:   0.15 ( 0%) usr   0.00 ( 0%) sys   0.09 ( 0%) wall   
3988 kB ( 0%) ggc
 if-conversion 2       :   0.12 ( 0%) usr   0.00 ( 0%) sys   0.19 ( 0%) wall   
1056 kB ( 0%) ggc
 combine stack adjustments:   0.08 ( 0%) usr   0.00 ( 0%) sys   0.18 ( 0%) wall
      0 kB ( 0%) ggc
 peephole 2            :   0.58 ( 0%) usr   0.00 ( 0%) sys   0.55 ( 0%) wall   
2995 kB ( 0%) ggc
 rename registers      :   1.45 ( 0%) usr   0.00 ( 0%) sys   1.22 ( 0%) wall   
2741 kB ( 0%) ggc
 hard reg cprop        :   1.27 ( 0%) usr   0.00 ( 0%) sys   1.26 ( 0%) wall   
  15 kB ( 0%) ggc
 scheduling 2          :   6.64 ( 2%) usr   0.06 ( 3%) sys   6.71 ( 2%) wall   
1284 kB ( 0%) ggc
 machine dep reorg     :   0.89 ( 0%) usr   0.00 ( 0%) sys   0.75 ( 0%) wall   
  77 kB ( 0%) ggc
 reorder blocks        :   0.90 ( 0%) usr   0.00 ( 0%) sys   0.76 ( 0%) wall   
4788 kB ( 0%) ggc
 final                 :   2.13 ( 0%) usr   0.12 ( 6%) sys   2.29 ( 1%) wall   
9656 kB ( 1%) ggc
 symout                :   0.71 ( 0%) usr   0.11 ( 5%) sys   0.82 ( 0%) wall  
58849 kB ( 3%) ggc
 variable tracking     :   3.12 ( 1%) usr   0.00 ( 0%) sys   3.06 ( 1%) wall  
62059 kB ( 3%) ggc
 var-tracking dataflow :   4.46 ( 1%) usr   0.01 ( 1%) sys   4.47 ( 1%) wall   
   0 kB ( 0%) ggc
 var-tracking emit     :   3.78 ( 1%) usr   0.01 ( 1%) sys   3.84 ( 1%) wall  
19142 kB ( 1%) ggc
 TOTAL                 : 434.63             2.00           436.64           
1780330 kB

gfortran -v reports:


/data03/vondele/gcc_trunk/build/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/f951
test.f90 -cpp=/tmp/cceEHMzK.f90 -quiet -v test.f90 -march=k8-sse3 -mcx16 -msahf
--param l1-cache-size=64 --param l1-cache-line-size=64 --param
l2-cache-size=1024 -mtune=k8 -quiet -dumpbase test.f90 -auxbase test -g -O3
-version -ftime-report -fbounds-check -ffast-math -funroll-loops
-ftree-vectorize -ffree-form -fintrinsic-modules-path
/data03/vondele/gcc_trunk/build/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/finclude
-o /tmp/ccQ56z0k.s


-- 
           Summary: [4.6 Regression] compile time increases 8x.
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Keywords: compile-time-hog
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jv244 at cam dot ac dot uk


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45422


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]