[Bug fortran/24401] -fbounds-check takes too long
tkoenig at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sun Jan 29 23:45:00 GMT 2006
------- Comment #5 from tkoenig at gcc dot gnu dot org 2006-01-29 23:45 -------
This is MUCH faster now on 4.2.0:
Can we close this?
(My guess is that this was fixed by the write_only patch
by Richard Guenther).
$ gdb ~/libexec/gcc/i686-pc-linux-gnu/4.2.0/f951
GNU gdb 6.4-debian
Copyright 2005 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...Using host libthread_db library
"/lib/tls/i686/cmov/libthread_db.so.1".
(gdb) r -fbounds-check -O2 DoubleLeap.f
Starting program: /home/ig25/libexec/gcc/i686-pc-linux-gnu/4.2.0/f951
-fbounds-check -O2 DoubleLeap.f
adm_doubleleap {GC 28985k -> 26929k}
Analyzing compilation unit {GC 43442k -> 42873k}Performing intraprocedural
optimizations
Assembling functions:
adm_doubleleap {GC 70869k -> 66982k} {GC 87395k -> 42568k}
Execution times (seconds)
garbage collection : 0.94 ( 1%) usr 0.00 ( 0%) sys 0.96 ( 1%) wall
0 kB ( 0%) ggc
callgraph construction: 7.50 ( 7%) usr 0.05 ( 8%) sys 7.57 ( 7%) wall
6148 kB ( 5%) ggc
callgraph optimization: 6.05 ( 5%) usr 0.00 ( 0%) sys 6.06 ( 5%) wall
618 kB ( 1%) ggc
ipa reference : 0.16 ( 0%) usr 0.00 ( 0%) sys 0.16 ( 0%) wall
0 kB ( 0%) ggc
ipa type escape : 0.20 ( 0%) usr 0.01 ( 2%) sys 0.20 ( 0%) wall
0 kB ( 0%) ggc
cfg construction : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
117 kB ( 0%) ggc
cfg cleanup : 0.32 ( 0%) usr 0.00 ( 0%) sys 0.32 ( 0%) wall
732 kB ( 1%) ggc
CFG verifier : 1.82 ( 2%) usr 0.00 ( 0%) sys 1.77 ( 2%) wall
0 kB ( 0%) ggc
trivially dead code : 0.22 ( 0%) usr 0.00 ( 0%) sys 0.20 ( 0%) wall
0 kB ( 0%) ggc
life analysis : 0.56 ( 1%) usr 0.00 ( 0%) sys 0.55 ( 0%) wall
310 kB ( 0%) ggc
life info update : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall
29 kB ( 0%) ggc
alias analysis : 0.26 ( 0%) usr 0.00 ( 0%) sys 0.25 ( 0%) wall
950 kB ( 1%) ggc
register scan : 0.12 ( 0%) usr 0.00 ( 0%) sys 0.12 ( 0%) wall
0 kB ( 0%) ggc
rebuild jump labels : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall
0 kB ( 0%) ggc
parser : 0.99 ( 1%) usr 0.01 ( 2%) sys 1.00 ( 1%) wall
11825 kB (10%) ggc
inline heuristics : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
integration : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
0 kB ( 0%) ggc
tree gimplify : 1.17 ( 1%) usr 0.03 ( 5%) sys 1.20 ( 1%) wall
16592 kB (14%) ggc
tree eh : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall
0 kB ( 0%) ggc
tree CFG construction : 0.12 ( 0%) usr 0.01 ( 2%) sys 0.13 ( 0%) wall
11445 kB ( 9%) ggc
tree CFG cleanup : 0.56 ( 1%) usr 0.00 ( 0%) sys 0.57 ( 1%) wall
81 kB ( 0%) ggc
tree VRP : 0.87 ( 1%) usr 0.01 ( 2%) sys 0.88 ( 1%) wall
4193 kB ( 3%) ggc
tree copy propagation : 0.62 ( 1%) usr 0.01 ( 2%) sys 0.69 ( 1%) wall
541 kB ( 0%) ggc
tree store copy prop : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall
3 kB ( 0%) ggc
tree find ref. vars : 0.18 ( 0%) usr 0.01 ( 2%) sys 0.19 ( 0%) wall
10025 kB ( 8%) ggc
tree PTA : 0.44 ( 0%) usr 0.00 ( 0%) sys 0.43 ( 0%) wall
145 kB ( 0%) ggc
tree alias analysis : 1.18 ( 1%) usr 0.08 (12%) sys 1.27 ( 1%) wall
210 kB ( 0%) ggc
tree PHI insertion : 1.42 ( 1%) usr 0.01 ( 2%) sys 1.43 ( 1%) wall
165 kB ( 0%) ggc
tree SSA rewrite : 0.76 ( 1%) usr 0.01 ( 2%) sys 0.78 ( 1%) wall
9247 kB ( 8%) ggc
tree SSA other : 0.26 ( 0%) usr 0.05 ( 8%) sys 0.26 ( 0%) wall
0 kB ( 0%) ggc
tree SSA incremental : 3.91 ( 3%) usr 0.00 ( 0%) sys 3.95 ( 4%) wall
263 kB ( 0%) ggc
tree operand scan : 1.87 ( 2%) usr 0.17 (26%) sys 2.02 ( 2%) wall
8734 kB ( 7%) ggc
dominator optimization: 0.94 ( 1%) usr 0.00 ( 0%) sys 0.95 ( 1%) wall
1855 kB ( 2%) ggc
tree SRA : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall
0 kB ( 0%) ggc
tree STORE-CCP : 0.08 ( 0%) usr 0.01 ( 2%) sys 0.09 ( 0%) wall
35 kB ( 0%) ggc
tree CCP : 0.26 ( 0%) usr 0.00 ( 0%) sys 0.25 ( 0%) wall
33 kB ( 0%) ggc
tree split crit edges : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall
305 kB ( 0%) ggc
tree reassociation : 0.08 ( 0%) usr 0.00 ( 0%) sys 0.09 ( 0%) wall
17 kB ( 0%) ggc
tree PRE : 0.60 ( 1%) usr 0.00 ( 0%) sys 0.61 ( 1%) wall
2135 kB ( 2%) ggc
tree FRE : 0.99 ( 1%) usr 0.05 ( 8%) sys 1.07 ( 1%) wall
6375 kB ( 5%) ggc
tree code sinking : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall
64 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.02 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall
1 kB ( 0%) ggc
tree conservative DCE : 0.46 ( 0%) usr 0.00 ( 0%) sys 0.47 ( 0%) wall
0 kB ( 0%) ggc
tree aggressive DCE : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall
0 kB ( 0%) ggc
tree DSE : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall
5 kB ( 0%) ggc
PHI merge : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
0 kB ( 0%) ggc
tree loop bounds : 0.18 ( 0%) usr 0.00 ( 0%) sys 0.18 ( 0%) wall
650 kB ( 1%) ggc
loop invariant motion : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall
7 kB ( 0%) ggc
tree canonical iv : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
106 kB ( 0%) ggc
scev constant prop : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
147 kB ( 0%) ggc
complete unrolling : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
122 kB ( 0%) ggc
tree iv optimization : 0.44 ( 0%) usr 0.01 ( 2%) sys 0.43 ( 0%) wall
2913 kB ( 2%) ggc
tree loop init : 0.11 ( 0%) usr 0.00 ( 0%) sys 0.11 ( 0%) wall
0 kB ( 0%) ggc
tree copy headers : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall
315 kB ( 0%) ggc
tree SSA uncprop : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
tree SSA to normal : 0.43 ( 0%) usr 0.00 ( 0%) sys 0.43 ( 0%) wall
1040 kB ( 1%) ggc
tree rename SSA copies: 0.11 ( 0%) usr 0.00 ( 0%) sys 0.13 ( 0%) wall
0 kB ( 0%) ggc
tree SSA verifier : 9.13 ( 8%) usr 0.00 ( 0%) sys 9.16 ( 8%) wall
0 kB ( 0%) ggc
tree STMT verifier : 6.74 ( 6%) usr 0.03 ( 5%) sys 6.79 ( 6%) wall
0 kB ( 0%) ggc
callgraph verifier : 30.18 (27%) usr 0.00 ( 0%) sys 30.27 (27%) wall
0 kB ( 0%) ggc
dominance frontiers : 0.26 ( 0%) usr 0.00 ( 0%) sys 0.23 ( 0%) wall
0 kB ( 0%) ggc
control dependences : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
expand : 1.46 ( 1%) usr 0.00 ( 0%) sys 1.47 ( 1%) wall
6859 kB ( 6%) ggc
jump : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall
9 kB ( 0%) ggc
CSE : 1.04 ( 1%) usr 0.00 ( 0%) sys 1.02 ( 1%) wall
2009 kB ( 2%) ggc
loop analysis : 1.05 ( 1%) usr 0.00 ( 0%) sys 1.06 ( 1%) wall
369 kB ( 0%) ggc
global CSE : 0.02 ( 0%) usr 0.02 ( 3%) sys 0.03 ( 0%) wall
0 kB ( 0%) ggc
CPROP 1 : 0.22 ( 0%) usr 0.00 ( 0%) sys 0.22 ( 0%) wall
404 kB ( 0%) ggc
PRE : 0.90 ( 1%) usr 0.07 (11%) sys 1.00 ( 1%) wall
103 kB ( 0%) ggc
CPROP 2 : 0.25 ( 0%) usr 0.00 ( 0%) sys 0.25 ( 0%) wall
272 kB ( 0%) ggc
bypass jumps : 0.17 ( 0%) usr 0.01 ( 2%) sys 0.19 ( 0%) wall
232 kB ( 0%) ggc
CSE 2 : 1.01 ( 1%) usr 0.00 ( 0%) sys 1.02 ( 1%) wall
3253 kB ( 3%) ggc
branch prediction : 1.54 ( 1%) usr 0.00 ( 0%) sys 1.54 ( 1%) wall
575 kB ( 0%) ggc
flow analysis : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall
0 kB ( 0%) ggc
combiner : 0.31 ( 0%) usr 0.00 ( 0%) sys 0.30 ( 0%) wall
1570 kB ( 1%) ggc
if-conversion : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall
5 kB ( 0%) ggc
regmove : 1.17 ( 1%) usr 0.00 ( 0%) sys 1.17 ( 1%) wall
1 kB ( 0%) ggc
local alloc : 0.18 ( 0%) usr 0.00 ( 0%) sys 0.18 ( 0%) wall
183 kB ( 0%) ggc
global alloc : 16.73 (15%) usr 0.00 ( 0%) sys 16.78 (15%) wall
2513 kB ( 2%) ggc
reload CSE regs : 0.49 ( 0%) usr 0.00 ( 0%) sys 0.50 ( 0%) wall
1122 kB ( 1%) ggc
flow 2 : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
66 kB ( 0%) ggc
if-conversion 2 : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall
0 kB ( 0%) ggc
peephole 2 : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall
117 kB ( 0%) ggc
rename registers : 0.09 ( 0%) usr 0.00 ( 0%) sys 0.09 ( 0%) wall
0 kB ( 0%) ggc
scheduling 2 : 0.35 ( 0%) usr 0.00 ( 0%) sys 0.35 ( 0%) wall
2178 kB ( 2%) ggc
machine dep reorg : 0.08 ( 0%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall
3 kB ( 0%) ggc
reorder blocks : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall
107 kB ( 0%) ggc
reg stack : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall
453 kB ( 0%) ggc
final : 0.15 ( 0%) usr 0.00 ( 0%) sys 0.15 ( 0%) wall
256 kB ( 0%) ggc
TOTAL : 111.77 0.66 112.74
121730 kB
Extra diagnostic checks enabled; compiler may run slowly.
Configure with --disable-checking to disable checks.
Program exited normally.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24401
More information about the Gcc-bugs
mailing list