This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [tree-ssa] New type-based aliasing (was: More CFG improvements)


In message <20030206200801.GB5229@tornado.toronto.redhat.com>, Diego Novillo wr
ites:
 >On Thu, 06 Feb 2003, Jeff Law wrote:
 >
 >> The downside of that is we expose a hell of a lot more objects to the
 >> PHI insertion routines, which in turn causes 20001226-1.c to blow back
 >> up  :(  Luckily, I've got changes here to fix that with better PHI
 >> insertion.
 >> 
 >Right.  After you enable the pruned form, we can add the bits to
 >only compute alias sets for stores.  Oh BTW, this morning I ran
 >some Brad Lucier's positively nasty files through tree-ssa.  Yum.
 >The worst one was conform.i with things like:
 >
 >---------------------------------------------------------
 >                                Number of        Memory
 >                                instances         used
 >---------------------------------------------------------
 >Referenced variables                   5536         21k
 >....
 >PHI nodes                            157336       6145k
 >PHI arguments                      33400595        254M
 >---------------------------------------------------------
 >Total memory used by DFA/SSA data                  260M
 >---------------------------------------------------------
 >
 >Average number of arguments per PHI node: 212.3 (max: 571)
Well, the number of referenced variables and PHI arguments for
20001226-1.c is higher than Brad's case.  

We get 48k referenced variables, 16k of which have nonlocal lifetimes.
The maximum number of PHI arguments is over 8k.  I don't know what
the average is.

Fully pruned we can actually handle it.  semi-pruned we eat > 1G of
memory and die a painful death (this is of course assuming my
changes to the aliasing code).


 >---------------------------------------------------------
 >                                Number of        Memory
 >                                instances         used
 >---------------------------------------------------------
 >Basic blocks                           4288        335k
 >Edges                                133673       5221k
 >Basic block annotations                4288         50k
 >---------------------------------------------------------
 >Total memory used by CFG data                     5606k
 >---------------------------------------------------------
 >
 >Coalesced label blocks: 35 (Max so far: 35)
 >Coalesced case label blocks: 0 (Max so far: 0)
 >
 >The compiler grew to like 1.4 Gb in core.  We spent most of the
 >time in CCP probably following the hundreds of thousands of
 >edges.
That's the key difference and there's probably not anything we can
do with such a fully connected graph.  Frankly, we should probably
punt it.

Jeff



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]