------- 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