This is the mail archive of the gcc@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: GCC 3.5 Status (2004-08-29)


On Monday 30 August 2004 01:17, Mark Mitchell wrote:
> The following changes will be postponed until GCC 3.6.  These changes
> either provide too little benefit, are too risky, or will take too
> much time to complete.
> 
> * Aliasing improvements for structure fields [Berlin]

I believe this is a big mistake.  Yes I know this may or may not be
ready on time according to _your_ schedule as the RM.  But you should
realize that this analysis is absolutely critical if GCC 3.5 is going
to perform reasonably well.

I have done extensive testing of the effect of some RTL passes on GCC
bootstraps over the past few weeks. One of my findings is that:

1) almost all opportunities for jump threading we still do on RTL, and
2) almost all (like ~99%) store motion opportunities,

only happen because we miss alias information for fields at the tree
level.  We *need* this alias analysis to be able to simplify or remove
some RTL passes.  In the end, that is the *only* way to retrieve the
compiler speed we have lost with ~60 new passes we do since tree-ssa
was merged.

[ That doesn't even take into account the extra optimizations we can
  do on trees with this information.  ]

This new optimization frame work we have is fun and cool and gread and
all.  But I don't believe GCC 3.5 should be released without alias
analysis that is at least capable of catching as much as what we catch
now on RTL.

Gr.
Steven



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