optimization/2001: [3.2/3.3 regression] Inordinately long compile times in reload CSE regs

Steven Bosscher s.bosscher@student.tudelft.nl
Wed Mar 12 02:36:00 GMT 2003


http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=2001

Brad, the last time you confirmed this ugly bug is 5 months ago, do you 
still see this?  If so, maybe this is an Alpha-specific problem?  On my 
ol' slow K6-2, I get a very reasonable compile time (with -march=i586 
-fPIC -O2 -fno-math-errno):

Execution times (seconds)
 cfg construction      :   0.09 ( 1%) usr   0.01 ( 3%) sys   0.10 ( 1%) wall
 cfg cleanup           :   0.33 ( 3%) usr   0.00 ( 0%) sys   0.33 ( 3%) wall
 trivially dead code   :   0.12 ( 1%) usr   0.00 ( 0%) sys   0.12 ( 1%) wall
 life analysis         :   0.39 ( 4%) usr   0.00 ( 0%) sys   0.39 ( 3%) wall
 life info update      :   0.14 ( 1%) usr   0.00 ( 0%) sys   0.18 ( 2%) wall
 alias analysis        :   0.14 ( 1%) usr   0.00 ( 0%) sys   0.14 ( 1%) wall
 register scan         :   0.06 ( 1%) usr   0.00 ( 0%) sys   0.06 ( 1%) wall
 rebuild jump labels   :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall
 preprocessing         :   0.10 ( 1%) usr   0.03 ( 9%) sys   0.13 ( 1%) wall
 lexical analysis      :   0.15 ( 2%) usr   0.07 (21%) sys   0.24 ( 2%) wall
 parser                :   0.64 ( 7%) usr   0.06 (18%) sys   0.90 ( 8%) wall
 expand                :   0.21 ( 2%) usr   0.00 ( 0%) sys   0.32 ( 3%) wall
 varconst              :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall
 integration           :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 1%) wall
 jump                  :   0.09 ( 1%) usr   0.01 ( 3%) sys   0.10 ( 1%) wall
 CSE                   :   0.58 ( 6%) usr   0.01 ( 3%) sys   0.60 ( 5%) wall
 global CSE            :   1.54 (16%) usr   0.05 (15%) sys   2.14 (18%) wall
 loop analysis         :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall
 bypass jumps          :   0.24 ( 2%) usr   0.01 ( 3%) sys   0.25 ( 2%) wall
 CSE 2                 :   0.20 ( 2%) usr   0.00 ( 0%) sys   0.20 ( 2%) wall
 branch prediction     :   0.11 ( 1%) usr   0.00 ( 0%) sys   0.11 ( 1%) wall
 flow analysis         :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall
 combiner              :   0.24 ( 2%) usr   0.00 ( 0%) sys   0.24 ( 2%) wall
 if-conversion         :   0.07 ( 1%) usr   0.00 ( 0%) sys   0.22 ( 2%) wall
 regmove               :   0.06 ( 1%) usr   0.00 ( 0%) sys   0.06 ( 1%) wall
 local alloc           :   0.20 ( 2%) usr   0.00 ( 0%) sys   0.20 ( 2%) wall
 global alloc          :   1.35 (14%) usr   0.04 (12%) sys   1.70 (14%) wall
 reload CSE regs       :   0.83 ( 9%) usr   0.02 ( 6%) sys   0.92 ( 8%) wall
 flow 2                :   0.06 ( 1%) usr   0.00 ( 0%) sys   0.12 ( 1%) wall
 if-conversion 2       :   0.13 ( 1%) usr   0.00 ( 0%) sys   0.13 ( 1%) wall
 peephole 2            :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.10 ( 1%) wall
 rename registers      :   0.23 ( 2%) usr   0.00 ( 0%) sys   0.26 ( 2%) wall
 scheduling 2          :   0.55 ( 6%) usr   0.00 ( 0%) sys   0.58 ( 5%) wall
 reorder blocks        :   0.30 ( 3%) usr   0.01 ( 3%) sys   0.34 ( 3%) wall
 shorten branches      :   0.05 ( 1%) usr   0.00 ( 0%) sys   0.06 ( 1%) wall
 final                 :   0.12 ( 1%) usr   0.00 ( 0%) sys   0.17 ( 1%) wall
 rest of compilation   :   0.16 ( 2%) usr   0.00 ( 0%) sys   0.17 ( 1%) wall
 TOTAL                 :   9.66             0.34            11.80

Greetz
Steven




More information about the Gcc-bugs mailing list