This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
[tree-ssa] Mainline merge plan
- From: Diego Novillo <dnovillo at redhat dot com>
- To: "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Tue, 24 Feb 2004 12:08:19 -0500
- Subject: [tree-ssa] Mainline merge plan
- Organization: Red Hat Canada
The SC approved the plan to merge tree-ssa into mainline. Tomorrow
Feb/25, the branch will be closed to new features that do not advance
items in this plan or fix an existing PR.
Patches that fix bugs but are either too intrusive or too large will be
considered on a case-by-case basis.
Patches that are already waiting for review will also be considered for
inclusion.
With any luck, we should be able to merge into mainline by mid April.
Thanks. Diego.
===========================================================================
The branch will be frozen once the SC gives final approval on
this document. After that date, only patches that advance items
in this TODO list and/or fix existing bugs will be accepted. The
final merge should happen approximately 6-8 weeks later.
The .dot flowgraph dumps will be renamed to .vcg and the output
will be checked to verify that it can be parsed by VCG. VCG
is a freely available visualization tool for compiler graphs.
Documentation
-------------
- New -f and --param command line options described in doc/invoke.texi.
- New tree codes described in c-tree.texi. Additional
internal documentation files for the new passes, data
structures and functions will also be added.
- Verify function and file-level documentation to make sure
it's up-to-date.
- Update/finish gfortran.texi.
- Rewrite passes.texi. In particular the FE->optimizer interface.
- Associated PRs: 13756.
Code Reviews
------------
- Request code reviews for all the components of the branch. I
will draft a design document (which will be part of the .texi
documentation mentioned above) to help people navigate the
code.
Testing
-------
- Bootstrapped and tested with all languages except Ada,
Fortran77 and Treelang. All of which will be considered
broken after the merge.
- Regression tests showing no regressions with respect to mainline
before the merge.
- Bootstrapped and tested on:
alphaev67-unknown-linux-gnu
i686-pc-linux-gnu
x86_64-unknown-linux-gnu
powerpc-unknown-linux-gnu
ia64-unknown-linux-gnu
sparc-sun-solaris2.8
i386-unknown-freebsd4.8
- Built and tested on embedded target mn10300-elf.
- Applications: glibc 2.3.2, gdb 5.3, mozilla 1.6, POOMA 2.4.0,
DLV (Feb04 snapshot), linux kernel 2.6.0. All applications
built on native hosts that support them, except linux kernel,
built only on linux hosts.
- For i686-pc-linux-gnu we will attempt to build all the
packages in Fedora Core 2. The merge into mainline will only
be blocked if a significant percentage of packages fail to
build because of compiler problems (suggested threshold 20%).
- Testcases in the testsuite for all new features, improved
diagnostics, etc. that can reasonably be tested in the testsuite.
- Associated PRs: 13951, 12454, 12807, 13755, 13769, 13066,
13379.
Run Time Performance
--------------------
- SPECint and SPECfp performance within 3% of mainline. SPEC
will be tested on i686-pc-linux-gnu and x86_64-unknown-linux-gnu.
- Associated PRs: 1046, 13751, 13758, 13759, 13761, 13765,
13796, 13799, 13952, 13953, 13965, 2399, 8781, 9059, 9567,
10050, 13954, 13962, 11761, 12747, 12814, 13643, 179, 6880,
6883, 7688, 8935, 8936, 9540, 9566, 11680
[ Note, many of these are already fixed in the branch. ]
Compile Time Performance
------------------------
- All the compile-time performance and memory consumption tests
will be done with checking disabled. Testing platforms are
i686-pc-linux-gnu and x86_64-unknown-linux-gnu.
- Bootstrap times within 1-5% of mainline. Since tree-ssa and
mainline build different runtime libraries, the branch
will be configured with
--disable-libmudflap --without-libbanshee --disable-checking
--enable-languages=c,c++,java,objc
Notice that this will not remove all the code base skew
between mainline and the branch. There is more code to be
processed in the branch. But it should be close enough.
Bootstrap testing will include building the compiler and all
the associated runtime libraries:
$ cd <toplevel-bld-dir>
$ /usr/bin/time make bootstrap
- POOMA, DLV and MICO compile times within 1-5% of mainline.
- Memory consumption within 1-5% of mainline (POOMA, DLV and
MICO seem good tests).
- Associated PRs: 13776, 13775.