public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* [RFC] Contributing tree-ssa to mainline
@ 2004-01-17  0:19 Diego Novillo
  2004-01-17  0:31 ` Daniel Berlin
                   ` (6 more replies)
  0 siblings, 7 replies; 86+ messages in thread
From: Diego Novillo @ 2004-01-17  0:19 UTC (permalink / raw)
  To: gcc


Now that we are about to enter Stage 1 of 3.5, I wanted to solicit
feedback regarding the merge of the tree-ssa branch into mainline.

First and foremost is the obvious question of whether people think that
the whole infrastructure is worth adding to GCC at all.  From what we've
discussed in the past few months, the consensus seems to be that it is. 
But I think it's important to find out if folks think otherwise.

If we decide to add SSA for 3.5, then we need to determine exactly how
we are going to go about it.  I will try to summarize the more important
points to get the discussion going.  In the following I assume that we
have decided to add tree-ssa to GCC:


1- The changes in tree-ssa are pretty big.  A quick diff against the 3.4
branchpoint in the gcc directory shows

 11558 files changed, 161996 insertions(+), 14697 deletions(-), 30494 modifications(!)

Some of that is due to the drift since the latest merge, but that should
give you an idea.  That doesn't include changes to ../lib*.


2- Ada and g77 do not work anymore.  The new Fortran 95 front end
replaces g77, though I'm not sure what's the compatibility situation. 
There is no replacement for Ada.  As it is today, it is impossible to
build an Ada compiler with the branch.


3- There are several bug reports opened against the branch (92 as of
today).


4- The branch lags in performance wrt mainline by about 3% in SPECint
and is about 4% faster in SPECfp (take these numbers with a grain of
salt, this is from my daily SPEC runs).


So, there clearly is much work to be done yet.  A very conservative view
would be to declare the branch still not ripe for inclusion and wait for
GCC 3.6.

Pros	Mainline is not disrupted with such major changes.
	We avoid a possibly lengthy 3.5 cycle.
	Other major work can go in without worrying about the new
	infrastructure.

Cons	The SSA bits stay secluded without the benefits of the
	widespread testing done on mainline.
	Other major changes may interfere with tree-ssa, slowing down
	progress in the branch.
	Benefits given by the new infrastructure cannot be used for new
 	work.


Another thing to consider is that we need to have peer review for all
the changes done in the branch.  The implementation and/or design will
need to be reviewed and may require extensive changes.

If we are going to merge during Stage1, we could either phase in all the
changes separately or just drop the whole thing at once.  For reviewing
purposes, we probably want to phase-in.  Though, we could do the review
separately and then drop the whole thing.  The are few independent
chunks in the branch (listed in precedence order):

     1. Folder changes.
     2. GENERIC/GIMPLE.
     3. tree->rtl expanders.
     4. g95.
     5. SSA infrastructure
             A. operand discovery.
             B. alias analysis.
             C. pass manager.
             D. individual passes.

2 and 3 need to go in together and are the ones that prevent Ada and g77
from working.  So, once those are in, we can't go back.

I may be forgetting a bunch of stuff.  I would like to reach a consensus
soonish so that we can plan accordingly.


Thanks.  Diego.

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

end of thread, other threads:[~2004-01-29  0:00 UTC | newest]

Thread overview: 86+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-01-17  0:19 [RFC] Contributing tree-ssa to mainline Diego Novillo
2004-01-17  0:31 ` Daniel Berlin
2004-01-17  0:35 ` Andrew Pinski
2004-01-17  0:44 ` Gerald Pfeifer
2004-01-17  0:53   ` law
2004-01-17  0:54   ` law
2004-01-17  1:37     ` Gerald Pfeifer
2004-01-17  1:46       ` Diego Novillo
2004-01-17  0:55   ` Eric Christopher
2004-01-17  2:48     ` Robert Dewar
2004-01-17 22:08       ` Eric Christopher
2004-01-17  1:02   ` Joseph S. Myers
2004-01-17  1:51     ` Kaveh R. Ghazi
2004-01-17  2:01       ` Gabriel Dos Reis
2004-01-17  2:17         ` Kaveh R. Ghazi
2004-01-17  3:01           ` Daniel Berlin
2004-01-17  2:19         ` Steven Bosscher
2004-01-17  3:02           ` Robert Dewar
2004-01-17  3:55             ` Andrew Pinski
2004-01-17  3:36       ` Diego Novillo
2004-01-17 13:06         ` Giovanni Bajo
2004-01-17 13:53         ` Jan Hubicka
2004-01-18  7:01           ` law
2004-01-17 17:04         ` Kaveh R. Ghazi
2004-01-17 17:16           ` Scott Robert Ladd
2004-01-17 17:30             ` Kaveh R. Ghazi
2004-01-17 17:50               ` Scott Robert Ladd
2004-01-17 17:37             ` Robert Dewar
2004-01-17 17:46               ` Joseph S. Myers
2004-01-17 17:51                 ` Robert Dewar
2004-01-17 18:11                   ` Joseph S. Myers
2004-01-17 19:12                     ` Arnaud Charlet
2004-01-19 12:19                       ` Ada commits to branch (was: [RFC] Contributing tree-ssa to mainline) Laurent GUERBY
2004-01-19 12:23                         ` Arnaud Charlet
2004-01-19 18:35                           ` Laurent GUERBY
2004-01-19 22:11                             ` Arnaud Charlet
2004-01-19 22:22                               ` Laurent GUERBY
2004-01-29  0:36                       ` [RFC] Contributing tree-ssa to mainline Robert Dewar
2004-01-29  0:00                     ` Robert Dewar
2004-01-17 17:58               ` Scott Robert Ladd
2004-01-17 18:09                 ` Joseph S. Myers
2004-01-17 18:06           ` Mark Mitchell
2004-01-18  7:15           ` law
2004-01-18 15:50             ` Daniel Berlin
2004-01-17 17:12         ` Kaveh R. Ghazi
2004-01-17 17:26           ` Diego Novillo
2004-01-17  5:31     ` Diego Novillo
2004-01-17  6:15       ` law
2004-01-17  6:22         ` Andrew Pinski
2004-01-17  6:38         ` Diego Novillo
2004-01-17 14:45         ` Daniel Berlin
2004-01-17 21:23           ` law
2004-01-17 21:33             ` Steven Bosscher
2004-01-18  2:34               ` Zack Weinberg
2004-01-17 11:16       ` Joseph S. Myers
2004-01-17 17:50         ` Diego Novillo
2004-01-17 18:06           ` Joseph S. Myers
2004-01-17 20:14           ` Steven Bosscher
2004-01-17 22:55             ` cfg.texi (was: [RFC] Contributing tree-ssa to mainline) Steven Bosscher
2004-01-17 22:58               ` Steven Bosscher
2004-01-17 23:38         ` [RFC] Contributing tree-ssa to mainline Toon Moene
2004-01-18  1:06           ` Phil Edwards
2004-01-17  2:15   ` Steven Bosscher
2004-01-17  3:01     ` Robert Dewar
2004-01-17 11:08 ` Andrew Walrond
2004-01-17 23:33   ` Toon Moene
2004-01-17 14:30 ` Scott Robert Ladd
2004-01-17 14:57   ` Paul Brook
2004-01-17 15:28     ` Scott Robert Ladd
2004-01-17 21:24     ` law
2004-01-17 21:47       ` Diego Novillo
2004-01-17 19:01 ` Mark Mitchell
2004-01-17 19:23   ` Andrew Pinski
2004-01-18  0:14     ` Toon Moene
2004-01-20  1:39   ` Kaveh R. Ghazi
2004-01-20  2:00     ` Gabriel Dos Reis
2004-01-20  2:08       ` Mark Mitchell
2004-01-20  2:31         ` Gabriel Dos Reis
2004-01-20 15:19       ` Scott Robert Ladd
2004-01-20 15:27         ` Andrew Haley
2004-01-20  2:09     ` Diego Novillo
2004-01-22  8:49     ` Gerald Pfeifer
2004-01-17 19:22 ` Daniel Jacobowitz
2004-01-17 19:34   ` Richard Guenther
2004-01-17 20:21     ` Steven Bosscher
2004-01-18  1:24     ` David Edelsohn

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).