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]

[tree-ssa] Mainline merge plan


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.


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