It seems that specifying -mcpu=G5 leads to a tremendous increase in compile time for 3.4.1. Here's the compiler I'm using: [descartes:~/programs/gambc40b4-devel] lucier% gcc -v Reading specs from /pkgs/gcc-3.4.1/lib/gcc/powerpc-apple-darwin7.5.0/3.4.1/specs Configured with: ../configure --prefix=/pkgs/gcc-3.4.1 Thread model: posix gcc version 3.4.1 Here's a typical compile command in building Gambit-C: gcc -mcpu=G4 -I../include -no-cpp-precomp -Wall -W -Wno-unused -O1 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fomit-frame-pointer -fPIC -fno-common -DHAVE_CONFIG_H -c _gsc_.c The time for make -j with -mcpu=G5: 633.250u 15.960s 9:57.25 108.6% 0+0k 1+101io 0pf+0w The time for make -j with -mcpu=G4: 107.190u 13.420s 1:23.98 143.6% 0+0k 0+63io 0pf+0w A typicial bad file can be found at http://www.math.purdue.edu/~lucier/GNATS/GNATS-12/_num.i.gz
Sorry, it's been a long day, I forgot to give any timing information; the problem seems to appear in local alloc: [descartes:~] lucier% /pkgs/gcc-3.4.1/libexec/gcc/powerpc-apple-darwin7.5.0/3.4.1/cc1 -mcpu=G4 -I../include -Wall -W -Wno-unused -O1 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fomit-frame-pointer -fPIC -fno-common -DHAVE_CONFIG_H _num.i ___H__20___num {GC 33074k -> 16368k} {GC 24361k -> 16711k} {GC 24130k -> 17077k} {GC 27863k -> 4402k} ___init_proc {GC 5843k -> 4642k} ____20___num Execution times (seconds) garbage collection : 0.44 ( 2%) usr 0.05 ( 0%) sys 0.88 ( 2%) wall cfg construction : 0.26 ( 1%) usr 0.34 ( 3%) sys 1.14 ( 2%) wall cfg cleanup : 0.85 ( 4%) usr 0.01 ( 0%) sys 1.66 ( 3%) wall trivially dead code : 0.36 ( 2%) usr 0.02 ( 0%) sys 0.78 ( 1%) wall life analysis : 1.15 ( 6%) usr 0.32 ( 3%) sys 2.63 ( 5%) wall life info update : 0.38 ( 2%) usr 0.00 ( 0%) sys 0.71 ( 1%) wall alias analysis : 0.24 ( 1%) usr 0.02 ( 0%) sys 0.43 ( 1%) wall register scan : 0.16 ( 1%) usr 0.00 ( 0%) sys 0.38 ( 1%) wall rebuild jump labels : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.11 ( 0%) wall preprocessing : 1.57 ( 8%) usr 2.64 (21%) sys 7.90 (14%) wall lexical analysis : 2.68 (14%) usr 5.26 (42%) sys 14.38 (25%) wall parser : 2.37 (13%) usr 2.85 (23%) sys 10.39 (18%) wall expand : 0.41 ( 2%) usr 0.05 ( 0%) sys 0.87 ( 1%) wall varconst : 0.07 ( 0%) usr 0.04 ( 0%) sys 0.22 ( 0%) wall jump : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall CSE : 0.39 ( 2%) usr 0.00 ( 0%) sys 0.76 ( 1%) wall loop analysis : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall branch prediction : 0.76 ( 4%) usr 0.06 ( 0%) sys 1.47 ( 3%) wall flow analysis : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall combiner : 0.63 ( 3%) usr 0.05 ( 0%) sys 1.26 ( 2%) wall if-conversion : 0.20 ( 1%) usr 0.03 ( 0%) sys 0.42 ( 1%) wall local alloc : 0.51 ( 3%) usr 0.03 ( 0%) sys 1.01 ( 2%) wall global alloc : 1.34 ( 7%) usr 0.28 ( 2%) sys 2.92 ( 5%) wall reload CSE regs : 0.64 ( 3%) usr 0.01 ( 0%) sys 1.23 ( 2%) wall flow 2 : 0.13 ( 1%) usr 0.11 ( 1%) sys 0.41 ( 1%) wall if-conversion 2 : 0.12 ( 1%) usr 0.02 ( 0%) sys 0.26 ( 0%) wall rename registers : 1.73 ( 9%) usr 0.05 ( 0%) sys 3.32 ( 6%) wall scheduling 2 : 0.64 ( 3%) usr 0.04 ( 0%) sys 1.19 ( 2%) wall shorten branches : 0.10 ( 1%) usr 0.00 ( 0%) sys 0.22 ( 0%) wall final : 0.26 ( 1%) usr 0.01 ( 0%) sys 0.50 ( 1%) wall symout : 0.00 ( 0%) usr 0.01 ( 0%) sys 0.01 ( 0%) wall rest of compilation : 0.37 ( 2%) usr 0.07 ( 1%) sys 0.71 ( 1%) wall TOTAL : 18.95 12.40 58.44 [descartes:~] lucier% /pkgs/gcc-3.4.1/libexec/gcc/powerpc-apple-darwin7.5.0/3.4.1/cc1 -mcpu=G5 -I../include -Wall -W -Wno-unused -O1 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fomit-frame-pointer -fPIC -fno-common -DHAVE_CONFIG_H _num.i ___H__20___num {GC 34619k -> 17755k} {GC 24607k -> 18680k} {GC 24303k -> 18051k} {GC 25937k -> 18621k} {GC 29738k -> 4562k} ___init_proc {GC 5960k -> 4703k} ____20___num Execution times (seconds) garbage collection : 0.55 ( 0%) usr 0.03 ( 0%) sys 1.14 ( 0%) wall cfg construction : 0.27 ( 0%) usr 0.34 ( 2%) sys 1.12 ( 0%) wall cfg cleanup : 0.92 ( 1%) usr 0.01 ( 0%) sys 1.68 ( 1%) wall trivially dead code : 0.41 ( 0%) usr 0.03 ( 0%) sys 0.93 ( 0%) wall life analysis : 1.08 ( 1%) usr 0.34 ( 2%) sys 2.76 ( 1%) wall life info update : 0.41 ( 0%) usr 0.00 ( 0%) sys 0.86 ( 0%) wall alias analysis : 0.25 ( 0%) usr 0.02 ( 0%) sys 0.50 ( 0%) wall register scan : 0.21 ( 0%) usr 0.00 ( 0%) sys 0.38 ( 0%) wall rebuild jump labels : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.14 ( 0%) wall preprocessing : 1.56 ( 1%) usr 2.87 (21%) sys 7.77 ( 3%) wall lexical analysis : 2.74 ( 2%) usr 5.23 (38%) sys 15.70 ( 6%) wall parser : 2.29 ( 2%) usr 2.97 (21%) sys 10.23 ( 4%) wall expand : 0.41 ( 0%) usr 0.04 ( 0%) sys 0.84 ( 0%) wall varconst : 0.09 ( 0%) usr 0.03 ( 0%) sys 0.10 ( 0%) wall jump : 0.01 ( 0%) usr 0.01 ( 0%) sys 0.09 ( 0%) wall CSE : 0.48 ( 0%) usr 0.01 ( 0%) sys 0.89 ( 0%) wall loop analysis : 0.02 ( 0%) usr 0.02 ( 0%) sys 0.10 ( 0%) wall branch prediction : 0.81 ( 1%) usr 0.07 ( 1%) sys 1.75 ( 1%) wall flow analysis : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall combiner : 0.96 ( 1%) usr 0.03 ( 0%) sys 2.09 ( 1%) wall if-conversion : 0.21 ( 0%) usr 0.01 ( 0%) sys 0.49 ( 0%) wall local alloc : 117.49 (86%) usr 1.09 ( 8%) sys 221.13 (78%) wall global alloc : 1.99 ( 1%) usr 0.35 ( 3%) sys 4.43 ( 2%) wall reload CSE regs : 0.92 ( 1%) usr 0.04 ( 0%) sys 1.85 ( 1%) wall flow 2 : 0.11 ( 0%) usr 0.08 ( 1%) sys 0.39 ( 0%) wall if-conversion 2 : 0.13 ( 0%) usr 0.02 ( 0%) sys 0.26 ( 0%) wall rename registers : 1.58 ( 1%) usr 0.11 ( 1%) sys 3.15 ( 1%) wall scheduling 2 : 0.66 ( 0%) usr 0.01 ( 0%) sys 1.33 ( 0%) wall shorten branches : 0.12 ( 0%) usr 0.01 ( 0%) sys 0.20 ( 0%) wall final : 0.23 ( 0%) usr 0.05 ( 0%) sys 0.51 ( 0%) wall symout : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall rest of compilation : 0.36 ( 0%) usr 0.05 ( 0%) sys 0.79 ( 0%) wall TOTAL : 137.39 13.90 283.76
And here's the top of the gprof output: % cumulative self self total time seconds seconds calls ms/call ms/call name 73.7 50.92 50.92 328541 0.15 0.15 _invalid_mode_change_p [9] ----------------------------------------------- 0.16 50.97 3/3 _rest_of_compilation [7] [8] 79.4 0.16 50.97 3 _regclass [8] 50.92 0.00 328541/328541 _invalid_mode_change_p [9] 0.01 0.04 88291/88291 _scan_one_insn [133] 0.00 0.00 6/541848 _xmalloc [354] 0.00 0.00 3/19 _init_recog [2075] ----------------------------------------------- 50.92 0.00 328541/328541 _regclass [8] [9] 79.1 50.92 0.00 328541 _invalid_mode_change_p [9] 0.00 0.00 26181/651980 _reg_classes_intersect_p [1324] -----------------------------------------------
Gprof will not tell you all you need to know, try Shark which is part of the CHUD tools.
In fact most of the problem comes from the use of bitmaps which is slower between 3.3 and 3.4.0 on powerpc-darwin, see PR 13987. I will update the patch there and submit it again.
Mark, note that this is a regression from 3.4.0 (the only one at this point, IIRC).
Ok, maybe not, sorry. I misread the PR.
This is not a regression at all.
Subject: Re: Tremendous increase in compile times for 3.4.1 with -mcpu=G5 On Aug 11, 2004, at 10:16 AM, pinskia at gcc dot gnu dot org wrote: > This is not a regression at all. Don't you say it's a regression from 3.3 in your comment #4?
No I what I ment that some of slow down came from that but it was also slower with -mcpu=G4 also from 3.3.
Subject: Re: Tremendous increase in compile times for 3.4.1 with -mcpu=G5 On Aug 11, 2004, at 10:35 AM, pinskia at gcc dot gnu dot org wrote: > No I what I ment that some of slow down came from that but it was also > slower with -mcpu=G4 also > from 3.3. ???. Here's the time report from 3.3, there's no slowdown in 3.3 for -mcpu=7450 (there was no -mcpu=G4 flag then): [descartes:gcc-3.3/objdir/gcc] lucier% ./cc1 -mcpu=7450 -I../include -Wall -W -Wno-unused -O1 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fomit-frame-pointer -fPIC -fno-common -DHAVE_CONFIG_H _num.i ___H__20___num {GC 31081k -> 10746k} {GC 14130k -> 10205k} {GC 18269k -> 10890k} {GC 15157k -> 10883k} {GC 17408k -> 11039k} {GC 14780k -> 12490k} {GC 18710k -> 12348k} ___init_proc ____20___num Execution times (seconds) garbage collection : 0.51 ( 3%) usr 0.01 ( 0%) sys 0.00 ( 0%) wall cfg construction : 0.21 ( 1%) usr 0.32 ( 2%) sys 2.00 ( 4%) wall cfg cleanup : 0.85 ( 4%) usr 0.01 ( 0%) sys 0.00 ( 0%) wall trivially dead code : 0.57 ( 3%) usr 0.01 ( 0%) sys 0.00 ( 0%) wall life analysis : 1.19 ( 6%) usr 0.73 ( 5%) sys 6.00 (13%) wall life info update : 0.62 ( 3%) usr 0.35 ( 3%) sys 0.00 ( 0%) wall preprocessing : 1.28 ( 7%) usr 2.68 (20%) sys 6.00 (13%) wall lexical analysis : 2.54 (13%) usr 5.28 (40%) sys 8.00 (17%) wall parser : 1.98 (10%) usr 2.90 (22%) sys 10.00 (22%) wall expand : 0.24 ( 1%) usr 0.03 ( 0%) sys 0.00 ( 0%) wall varconst : 0.04 ( 0%) usr 0.02 ( 0%) sys 0.00 ( 0%) wall integration : 0.04 ( 0%) usr 0.01 ( 0%) sys 0.00 ( 0%) wall jump : 0.09 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall CSE : 0.48 ( 3%) usr 0.25 ( 2%) sys 0.00 ( 0%) wall loop analysis : 0.09 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall branch prediction : 0.86 ( 4%) usr 0.01 ( 0%) sys 2.00 ( 4%) wall flow analysis : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall combiner : 0.58 ( 3%) usr 0.04 ( 0%) sys 2.00 ( 4%) wall if-conversion : 0.62 ( 3%) usr 0.01 ( 0%) sys 2.00 ( 4%) wall local alloc : 0.59 ( 3%) usr 0.01 ( 0%) sys 0.00 ( 0%) wall global alloc : 1.20 ( 6%) usr 0.26 ( 2%) sys 2.00 ( 4%) wall reload CSE regs : 1.66 ( 9%) usr 0.03 ( 0%) sys 2.00 ( 4%) wall flow 2 : 0.21 ( 1%) usr 0.09 ( 1%) sys 0.00 ( 0%) wall if-conversion 2 : 0.05 ( 0%) usr 0.01 ( 0%) sys 0.00 ( 0%) wall rename registers : 1.47 ( 8%) usr 0.13 ( 1%) sys 2.00 ( 4%) wall scheduling 2 : 0.47 ( 2%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall shorten branches : 0.12 ( 1%) usr 0.01 ( 0%) sys 0.00 ( 0%) wall final : 0.21 ( 1%) usr 0.02 ( 0%) sys 0.00 ( 0%) wall symout : 0.00 ( 0%) usr 0.01 ( 0%) sys 0.00 ( 0%) wall rest of compilation : 0.35 ( 2%) usr 0.06 ( 0%) sys 2.00 ( 4%) wall TOTAL : 19.19 13.30 46.00
Fixed on the mainline, we get the same compile time with both -mcpu=G4 and -mcpu=G5.
Subject: Re: Tremendous increase in compile times for 3.4.1 with -mcpu=G5 The G5 time is cut in half from 3.4.*, but the G4 time is 4 times as long (roughly). I don't think this is "FIXED". Or should I just open another PR? Brad [descartes:gcc/mainline/objdir] lucier% /pkgs/gcc-mainline/libexec/gcc/powerpc-apple-darwin7.6.0/4.0.0/cc1 -mcpu=G4 -I../include -Wall -W -Wno-unused -O1 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fomit-frame-pointer -fPIC -fno-common -DHAVE_CONFIG_H _num.i ___H__20___num ___init_proc ____20___num Execution times (seconds) cfg construction : 0.07 ( 0%) usr 0.06 ( 0%) sys 0.14 ( 0%) wall cfg cleanup : 1.63 ( 2%) usr 0.03 ( 0%) sys 2.23 ( 2%) wall trivially dead code : 0.35 ( 1%) usr 0.00 ( 0%) sys 0.56 ( 0%) wall life analysis : 2.29 ( 3%) usr 0.92 ( 6%) sys 4.42 ( 4%) wall life info update : 0.73 ( 1%) usr 0.00 ( 0%) sys 1.07 ( 1%) wall alias analysis : 0.25 ( 0%) usr 0.00 ( 0%) sys 0.33 ( 0%) wall register scan : 0.16 ( 0%) usr 0.00 ( 0%) sys 0.19 ( 0%) wall rebuild jump labels : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall preprocessing : 1.66 ( 3%) usr 2.69 (16%) sys 6.03 ( 5%) wall lexical analysis : 2.76 ( 4%) usr 5.50 (34%) sys 12.20 (10%) wall parser : 2.27 ( 3%) usr 2.45 (15%) sys 7.22 ( 6%) wall tree gimplify : 0.26 ( 0%) usr 0.02 ( 0%) sys 0.39 ( 0%) wall tree eh : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall tree CFG construction : 0.10 ( 0%) usr 0.03 ( 0%) sys 0.17 ( 0%) wall tree CFG cleanup : 0.55 ( 1%) usr 0.03 ( 0%) sys 0.80 ( 1%) wall tree find referenced vars: 0.05 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall tree PTA : 23.55 (36%) usr 0.18 ( 1%) sys 32.78 (28%) wall tree alias analysis : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall tree PHI insertion : 0.79 ( 1%) usr 0.31 ( 2%) sys 1.46 ( 1%) wall tree SSA rewrite : 2.08 ( 3%) usr 0.02 ( 0%) sys 3.17 ( 3%) wall tree SSA other : 2.37 ( 4%) usr 0.90 ( 6%) sys 4.40 ( 4%) wall tree operand scan : 0.71 ( 1%) usr 1.11 ( 7%) sys 2.76 ( 2%) wall dominator optimization: 4.21 ( 6%) usr 0.21 ( 1%) sys 6.41 ( 5%) wall tree CCP : 0.25 ( 0%) usr 0.01 ( 0%) sys 0.30 ( 0%) wall tree split crit edges : 0.21 ( 0%) usr 0.01 ( 0%) sys 0.32 ( 0%) wall tree PRE : 0.62 ( 1%) usr 0.10 ( 1%) sys 1.04 ( 1%) wall tree linearize phis : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall tree forward propagate: 0.15 ( 0%) usr 0.01 ( 0%) sys 0.21 ( 0%) wall tree conservative DCE : 0.31 ( 0%) usr 0.00 ( 0%) sys 0.44 ( 0%) wall tree aggressive DCE : 0.12 ( 0%) usr 0.00 ( 0%) sys 0.20 ( 0%) wall tree DSE : 0.26 ( 0%) usr 0.00 ( 0%) sys 0.42 ( 0%) wall tree record loop bounds: 0.04 ( 0%) usr 0.01 ( 0%) sys 0.06 ( 0%) wall loop invariant motion : 0.16 ( 0%) usr 0.01 ( 0%) sys 0.28 ( 0%) wall tree canonical iv creation: 0.02 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall tree iv optimization : 0.26 ( 0%) usr 0.03 ( 0%) sys 0.36 ( 0%) wall tree copy headers : 0.26 ( 0%) usr 0.13 ( 1%) sys 0.50 ( 0%) wall tree SSA to normal : 2.41 ( 4%) usr 0.01 ( 0%) sys 3.56 ( 3%) wall tree rename SSA copies: 0.05 ( 0%) usr 0.01 ( 0%) sys 0.08 ( 0%) wall dominance frontiers : 0.13 ( 0%) usr 0.00 ( 0%) sys 0.18 ( 0%) wall expand : 1.61 ( 2%) usr 0.29 ( 2%) sys 2.56 ( 2%) wall varconst : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall jump : 0.13 ( 0%) usr 0.00 ( 0%) sys 0.23 ( 0%) wall CSE : 0.41 ( 1%) usr 0.00 ( 0%) sys 0.52 ( 0%) wall loop analysis : 0.34 ( 1%) usr 0.09 ( 1%) sys 0.73 ( 1%) wall branch prediction : 0.54 ( 1%) usr 0.06 ( 0%) sys 0.86 ( 1%) wall flow analysis : 0.14 ( 0%) usr 0.05 ( 0%) sys 0.28 ( 0%) wall combiner : 0.68 ( 1%) usr 0.05 ( 0%) sys 1.09 ( 1%) wall if-conversion : 0.48 ( 1%) usr 0.02 ( 0%) sys 0.71 ( 1%) wall local alloc : 0.43 ( 1%) usr 0.03 ( 0%) sys 0.72 ( 1%) wall global alloc : 3.87 ( 6%) usr 0.59 ( 4%) sys 6.37 ( 5%) wall reload CSE regs : 0.57 ( 1%) usr 0.08 ( 0%) sys 0.90 ( 1%) wall flow 2 : 0.20 ( 0%) usr 0.09 ( 1%) sys 0.43 ( 0%) wall if-conversion 2 : 0.14 ( 0%) usr 0.00 ( 0%) sys 0.19 ( 0%) wall rename registers : 3.12 ( 5%) usr 0.06 ( 0%) sys 4.71 ( 4%) wall scheduling 2 : 0.55 ( 1%) usr 0.03 ( 0%) sys 0.75 ( 1%) wall shorten branches : 0.12 ( 0%) usr 0.00 ( 0%) sys 0.19 ( 0%) wall final : 0.25 ( 0%) usr 0.01 ( 0%) sys 0.38 ( 0%) wall symout : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall rest of compilation : 0.17 ( 0%) usr 0.05 ( 0%) sys 0.23 ( 0%) wall TOTAL : 66.02 16.31 116.85 [descartes:gcc/mainline/objdir] lucier% /pkgs/gcc-mainline/libexec/gcc/powerpc-apple-darwin7.6.0/4.0.0/cc1 -mcpu=G5 -I../include -Wall -W -Wno-unused -O1 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fomit-frame-pointer -fPIC -fno-common -DHAVE_CONFIG_H _num.i ___H__20___num ___init_proc ____20___num Execution times (seconds) cfg construction : 0.05 ( 0%) usr 0.07 ( 0%) sys 0.23 ( 0%) wall cfg cleanup : 1.48 ( 2%) usr 0.01 ( 0%) sys 2.21 ( 2%) wall trivially dead code : 0.28 ( 0%) usr 0.01 ( 0%) sys 0.34 ( 0%) wall life analysis : 1.73 ( 3%) usr 0.40 ( 3%) sys 3.12 ( 3%) wall life info update : 0.68 ( 1%) usr 0.01 ( 0%) sys 0.99 ( 1%) wall alias analysis : 0.24 ( 0%) usr 0.00 ( 0%) sys 0.31 ( 0%) wall register scan : 0.18 ( 0%) usr 0.00 ( 0%) sys 0.22 ( 0%) wall rebuild jump labels : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall preprocessing : 1.65 ( 3%) usr 2.56 (16%) sys 6.12 ( 5%) wall lexical analysis : 2.63 ( 4%) usr 5.18 (33%) sys 10.67 ( 9%) wall parser : 2.21 ( 3%) usr 2.64 (17%) sys 7.32 ( 6%) wall tree gimplify : 0.25 ( 0%) usr 0.02 ( 0%) sys 0.45 ( 0%) wall tree eh : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall tree CFG construction : 0.11 ( 0%) usr 0.02 ( 0%) sys 0.17 ( 0%) wall tree CFG cleanup : 0.52 ( 1%) usr 0.02 ( 0%) sys 0.74 ( 1%) wall tree find referenced vars: 0.05 ( 0%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall tree PTA : 22.91 (36%) usr 0.09 ( 1%) sys 32.72 (29%) wall tree alias analysis : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall tree PHI insertion : 0.76 ( 1%) usr 0.31 ( 2%) sys 1.47 ( 1%) wall tree SSA rewrite : 1.96 ( 3%) usr 0.01 ( 0%) sys 2.76 ( 2%) wall tree SSA other : 2.27 ( 4%) usr 1.07 ( 7%) sys 4.77 ( 4%) wall tree operand scan : 0.79 ( 1%) usr 0.99 ( 6%) sys 2.53 ( 2%) wall dominator optimization: 3.98 ( 6%) usr 0.22 ( 1%) sys 5.97 ( 5%) wall tree CCP : 0.27 ( 0%) usr 0.00 ( 0%) sys 0.35 ( 0%) wall tree split crit edges : 0.16 ( 0%) usr 0.02 ( 0%) sys 0.29 ( 0%) wall tree PRE : 0.66 ( 1%) usr 0.14 ( 1%) sys 0.96 ( 1%) wall tree linearize phis : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall tree forward propagate: 0.12 ( 0%) usr 0.00 ( 0%) sys 0.23 ( 0%) wall tree conservative DCE : 0.29 ( 0%) usr 0.00 ( 0%) sys 0.41 ( 0%) wall tree aggressive DCE : 0.09 ( 0%) usr 0.00 ( 0%) sys 0.19 ( 0%) wall tree DSE : 0.22 ( 0%) usr 0.00 ( 0%) sys 0.24 ( 0%) wall tree record loop bounds: 0.06 ( 0%) usr 0.00 ( 0%) sys 0.10 ( 0%) wall loop invariant motion : 0.20 ( 0%) usr 0.00 ( 0%) sys 0.29 ( 0%) wall tree canonical iv creation: 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall tree iv optimization : 0.30 ( 0%) usr 0.00 ( 0%) sys 0.41 ( 0%) wall tree copy headers : 0.23 ( 0%) usr 0.15 ( 1%) sys 0.60 ( 1%) wall tree SSA to normal : 2.31 ( 4%) usr 0.08 ( 1%) sys 3.58 ( 3%) wall tree rename SSA copies: 0.06 ( 0%) usr 0.00 ( 0%) sys 0.10 ( 0%) wall dominance frontiers : 0.15 ( 0%) usr 0.00 ( 0%) sys 0.14 ( 0%) wall expand : 1.66 ( 3%) usr 0.29 ( 2%) sys 2.47 ( 2%) wall varconst : 0.05 ( 0%) usr 0.01 ( 0%) sys 0.09 ( 0%) wall jump : 0.11 ( 0%) usr 0.00 ( 0%) sys 0.21 ( 0%) wall CSE : 0.34 ( 1%) usr 0.02 ( 0%) sys 0.58 ( 1%) wall loop analysis : 0.38 ( 1%) usr 0.13 ( 1%) sys 0.74 ( 1%) wall branch prediction : 0.59 ( 1%) usr 0.03 ( 0%) sys 0.94 ( 1%) wall flow analysis : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.13 ( 0%) wall combiner : 0.77 ( 1%) usr 0.01 ( 0%) sys 1.02 ( 1%) wall if-conversion : 0.50 ( 1%) usr 0.02 ( 0%) sys 0.75 ( 1%) wall local alloc : 0.43 ( 1%) usr 0.01 ( 0%) sys 0.59 ( 1%) wall global alloc : 3.57 ( 6%) usr 0.60 ( 4%) sys 6.21 ( 5%) wall reload CSE regs : 0.62 ( 1%) usr 0.05 ( 0%) sys 1.13 ( 1%) wall flow 2 : 0.11 ( 0%) usr 0.07 ( 0%) sys 0.28 ( 0%) wall if-conversion 2 : 0.14 ( 0%) usr 0.03 ( 0%) sys 0.31 ( 0%) wall rename registers : 2.93 ( 5%) usr 0.14 ( 1%) sys 4.49 ( 4%) wall scheduling 2 : 0.52 ( 1%) usr 0.04 ( 0%) sys 0.92 ( 1%) wall shorten branches : 0.09 ( 0%) usr 0.01 ( 0%) sys 0.11 ( 0%) wall final : 0.23 ( 0%) usr 0.02 ( 0%) sys 0.45 ( 0%) wall symout : 0.01 ( 0%) usr 0.01 ( 0%) sys 0.01 ( 0%) wall rest of compilation : 0.18 ( 0%) usr 0.04 ( 0%) sys 0.26 ( 0%) wall TOTAL : 63.28 15.56 112.92 [descartes:gcc/mainline/objdir] lucier% /pkgs/gcc-mainline/bin/gcc -v Reading specs from /pkgs/gcc-mainline/lib/gcc/powerpc-apple-darwin7.6.0/4.0.0/specs Configured with: ../configure --prefix=/pkgs/gcc-mainline --enable-checking=no --enable-languages=c Thread model: posix gcc version 4.0.0 20041110 (experimental)
I already filed the compile time problem for tree-ssa aliasing as PR 18419.