Bug 16975 - Tremendous increase in compile times for 3.4.1 with -mcpu=G5
Summary: Tremendous increase in compile times for 3.4.1 with -mcpu=G5
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 3.4.1
: P2 normal
Target Milestone: 4.0.0
Assignee: Not yet assigned to anyone
URL:
Keywords: compile-time-hog
Depends on: 13987
Blocks:
  Show dependency treegraph
 
Reported: 2004-08-10 22:16 UTC by lucier
Modified: 2004-11-10 18:01 UTC (History)
2 users (show)

See Also:
Host: powerpc-apple-darwin7.5.0
Target: powerpc-apple-darwin7.5.0
Build: powerpc-apple-darwin7.5.0
Known to work:
Known to fail: 3.4.1
Last reconfirmed: 2004-08-11 02:31:26


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description lucier 2004-08-10 22:16:25 UTC
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
Comment 1 lucier 2004-08-10 22:48:49 UTC
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
Comment 2 lucier 2004-08-11 01:41:07 UTC
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]

-----------------------------------------------
Comment 3 Andrew Pinski 2004-08-11 01:47:53 UTC
Gprof will not tell you all you need to know, try Shark which is part of the CHUD tools.
Comment 4 Andrew Pinski 2004-08-11 02:31:25 UTC
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.
Comment 5 Giovanni Bajo 2004-08-11 09:54:28 UTC
Mark, note that this is a regression from 3.4.0 (the only one at this point, 
IIRC).
Comment 6 Giovanni Bajo 2004-08-11 11:22:46 UTC
Ok, maybe not, sorry. I misread the PR.
Comment 7 Andrew Pinski 2004-08-11 15:16:49 UTC
This is not a regression at all.
Comment 8 lucier 2004-08-11 15:24:54 UTC
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?

Comment 9 Andrew Pinski 2004-08-11 15:35:02 UTC
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.
Comment 10 lucier 2004-08-11 16:26:34 UTC
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

Comment 11 Andrew Pinski 2004-11-10 05:14:45 UTC
Fixed on the mainline, we get the same compile time with both -mcpu=G4 and -mcpu=G5.
Comment 12 lucier 2004-11-10 16:31:23 UTC
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)

Comment 13 Andrew Pinski 2004-11-10 18:01:29 UTC
I already filed the compile time problem for tree-ssa aliasing as PR 18419.