public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* [tree-ssa] Merge status
@ 2004-03-13  0:07 Diego Novillo
  2004-03-13  0:26 ` Diego Novillo
                   ` (4 more replies)
  0 siblings, 5 replies; 18+ messages in thread
From: Diego Novillo @ 2004-03-13  0:07 UTC (permalink / raw)
  To: gcc


Build
-----

The branch is in sync with mainline as of 2003-03-07.  It bootstraps
daily alphaev67-unknown-linux-gnu, i686-pc-linux-gnu,
x86_64-unknown-linux-gnu, powerpc-unknown-linux-gnu and
ia64-unknown-linux-gnu.

I've tried bootstrapping on sparc-sun-solaris2.8 but the machine is too
small for libjava and runs out of memory running 'ar'.  The compiler
bootstrapped, but I know there are outstanding sparc patches for it. 
I'd appreciate if someone with a beefier machine could try it out
together with Christian Ehrhardt's patch
http://gcc.gnu.org/ml/gcc-patches/2004-02/msg02716.html (which needs a
sparc or global maintainer to look over it).

Builds on mn10300-elf are currently underway.  I will post to
gcc-testresults as soon as the build finishes.  So far, I haven't seen
any problems.


Documentation
-------------

There is new high-level documentation in doc/tree-ssa.texi and
doc/passes.texi.  Still not all there, but it's being populated.
All of the -f and --parm switches should already be documented.

If you are going over the implementation and find missing things, please
update PR 13756.


Application testing
-------------------

We have been building FC2 with the tree-ssa compiler.  We can build 739
packages and fail to build 176 packages (build pass rate of 80.7%). 
About 20 failures are related to tree-ssa, ~30 are cast-as-lvalue
extensions and the rest are still to be determined.

There are 22 tree-ssa specific bugs.  The major obstacles are the memory
and compile time regressions in C++.  To get a list of all the bugs go
to: http://tinyurl.com/28b2b


SPEC testing
------------

For SPEC2000int, the branch is 2% behind mainline on x86.  For
SPEC2000fp, the branch is 0.4% ahead.  I will post x86-64 resuts soon.


Compile Time Performance
------------------------

This is the major piece of work that we would like to address before the
merge.

Currently, bootstrap times on the branch are 14% slower than mainline
when configured with

    --disable-libmudflap --without-libbanshee --disable-checking
    --enable-languages=c,c++,java,objc

Work is underway to remove some RTL passes and figure out how to speed
up POOMA, DLV, MICO, etc.  PR 13776 is the place holder for all the
compile time and memory consumption regressions.  Once we fix these, we
should be ready to merge.


Diego.

^ permalink raw reply	[flat|nested] 18+ messages in thread
* Re: [tree-ssa] Merge status
@ 2004-03-13 14:57 Paolo Bonzini
  2004-03-13 15:05 ` Richard Guenther
                   ` (2 more replies)
  0 siblings, 3 replies; 18+ messages in thread
From: Paolo Bonzini @ 2004-03-13 14:57 UTC (permalink / raw)
  To: GCC Development, dnovillo

> For SPEC2000int, the branch is 2% behind mainline on x86.  For
> SPEC2000fp, the branch is 0.4% ahead.  I will post x86-64 resuts soon.

Are the performance problems on SPEC2000int (and the improvements in
SPEC2000fp) concentrated in a single test?

> Currently, bootstrap times on the branch are 14% slower than mainline
> [...] Work is underway to remove some RTL passes

It may be interesting to try without ADDRESSOF; I cannot test it fully but I
made some experiments; I simply tweaked function.c to not generate it, but Jan
has posted a polished patch which AFAIK is still waiting for review.  I
successfully bootstrapped mainline without all three of ADDRESSOF generation,
CSE1 (oh yeah) and the small purge_addressof pass.  This helps bootstrapping
time, but somebody should do SPEC tests to see if it causes performance
problems for the other merge criterion -- with Jan's patch, the necessary
modification is as easy as emptying rest_of_handle_cse and
rest_of_handle_addressof.

Another low-hanging candidate in this area is the extended basic block stuff
of CSE.  -fno-cse-follow-jumps -fno-cse-skip-blocks (or whatever they're
named) should give a first idea of the changes in SPEC numbers, but probably
more can be gained by touching cse.c itself to remove unnecessary code and
tests.

Finally, in rest_of_handle_gcse, with -fexpensive-optimizations CSE is run
repeatedly after GCSE until no jumps change.  Is this really helpful,
especially with EBB CSE disabled?

I also have a patch to remove CONSTANT_P_RTX; performance tests made on
mainline when purge_builtin_constant_p was introduced, showed that it took
about 1% of bootstrap time.  However, purge_builtin_constant_p should actually
be unused on the branch since builtin_constant_p is lowered well before the
RTL expander.  There still may be a very small improvement (0.5% maybe),
because it would simplify the CONSTANT_P predicate in rtl.h: a third of the 5%
improvement gained by my RTX classes patch was due to simplifying CONSTANT_P.
If you are interested in the patch I can polish it and send it on Monday or
Tuesday.

IIRC, jump bypassing takes about 2% of compile time.  Actually when jump
bypassing was introduced, it sped up bootstrap because GCC's enormous
conditionals are well suited to jump bypassing; but now tree-ssa-dom should
have made it almost obsolete on the branch, shouldn't it?  Again, SPEC testing
is the only possible guidance.

Hope this helps,

Paolo




^ permalink raw reply	[flat|nested] 18+ messages in thread
* Re: [tree-ssa] Merge status
@ 2004-03-16  1:09 Nathanael Nerode
  0 siblings, 0 replies; 18+ messages in thread
From: Nathanael Nerode @ 2004-03-16  1:09 UTC (permalink / raw)
  To: dnovillo, gcc

>The branch is in sync with mainline as of 2003-03-07.
                                              ^
I sincerely hope you meant 2004.  ;-)

-- 
Make sure your vote will count.
http://www.verifiedvoting.org/

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2004-03-16  1:09 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-03-13  0:07 [tree-ssa] Merge status Diego Novillo
2004-03-13  0:26 ` Diego Novillo
2004-03-13 16:35 ` Andreas Jaeger
2004-03-15 19:18 ` Andrew Pinski
2004-03-15 20:18   ` David Edelsohn
2004-03-15 19:43 ` Andreas Tobler
2004-03-15 19:56 ` Eric Botcazou
2004-03-13 14:57 Paolo Bonzini
2004-03-13 15:05 ` Richard Guenther
2004-03-13 15:37   ` Diego Novillo
2004-03-13 15:40     ` Richard Guenther
2004-03-13 15:41       ` Diego Novillo
2004-03-13 15:44         ` Richard Guenther
2004-03-13 15:47           ` Gerald Pfeifer
2004-03-13 15:54             ` Richard Guenther
2004-03-13 15:35 ` Diego Novillo
2004-03-13 15:58 ` Jan Hubicka
2004-03-16  1:09 Nathanael Nerode

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).