This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/45422] New: [4.6 Regression] compile time increases 8x.
- From: "jv244 at cam dot ac dot uk" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 26 Aug 2010 18:33:42 -0000
- Subject: [Bug middle-end/45422] New: [4.6 Regression] compile time increases 8x.
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
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