This is the mail archive of the
mailing list for the GCC project.
tree-ssa-20020619-branch merged into mainline
- From: Diego Novillo <dnovillo at redhat dot com>
- To: "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Thu, 13 May 2004 03:18:51 -0400
- Subject: tree-ssa-20020619-branch merged into mainline
- Organization: Red Hat Canada
I am glad to announce that Tree SSA has been merged into mainline. The
branch is now closed and mainline is, once again, open for business.
I guess the first thing I want to say is Thanks. These last 4 years
have certainly been fun and interesting. I appreciate all the work both
in testing and implementation that many folks have put into making Tree
SSA possible. The project is now officially over, but this was just the
first step. With the basic framework now in mainline we can now start
doing interesting things with it.
The second thing that comes to mind is Sorry. Things are going to be,
um, unstable for a while. Yes... unstable... that's it (for the lack of
a better term).
Now the user-visible details:
GCC has two new IRs, GENERIC and GIMPLE, and a bunch of SSA-based
optimizers that optimize the GIMPLE representation.
GCC can dump its internal representation in a C-like syntax using the
new -fdump-tree-... switches.
Ada, g77 and Treelang are broken. None of those languages work with
GENERIC/GIMPLE. Ada is being worked on, but I know of no efforts
underway to bring g77 and Treelang back.
Documentation for all the new infrastructure is in the internals
documentation (doc/tree-ssa.texi, doc/passes.texi and doc/cfg.texi in
GCC has a new Fortran 95 front end (g95) which is built by default.
Details about the merge:
I have created three new tags:
1. tree-ssa-pre-merge: mainline just before Tree SSA went in.
2. tree-ssa-post-merge: mainline just after Tree SSA went in.
3. tree-ssa-branch-merge-point: tree-ssa branch just before the
The first two are the more interesting ones. If we discover a fatal
problem with the merge, we can go back to tree-ssa-pre-merge and start
over. For reference I have uploaded the diffs to my home page
It is pretty big, as you may expect:
1202 files changed, 279027 insertions(+), 11314 deletions(-)
With respect to ChangeLog entries, I decided to add most details to the
main gcc/ChangeLog file because this is where most of the changes are.
However, the new entry is just too gross for words. There are pages and
pages of changed files. But since we had made so many changes to the
middle-end directory, the ChangeLog.tree-ssa file is huge, so I decided
to keep going.
For the other directories, however, it will be much easier to peek in
ChangeLog.tree-ssa, so I just added a merge entry with the merged/new
files and a pointer to ChangeLog.tree-ssa. If requested, we could
reconstruct the entries just as I reconstructed the entries in
I will do the rename of *simple* to *gimple* later. I did not want to
start fooling around with changes that forced me to rebootstrap. I'm
pretty wasted and I did not want to make silly mistakes.
Together with several folks in IRC, we have bootstrapped the branch on
several targets: powerpc-unknown-linux-gnu, solaris9, arm-none-elf,
ia64-unknown-linux-gnu, powerpc-ibm-aix18.104.22.168, i686-pc-linux-gnu,
alphaev67-unknown-linux-gnu and x86_64-unknown-linux-gnu.
Apologies if I forgot one and thanks for all the cycles!
I will now send a patch to announce the merge in our main page and will
also announce the finalization of the Tree SSA project.