It’s that time again! (Well, it was that time yesterday, but I made a mistake.) The LLVM 2.9 release is now underway!
2.9 Will Be The Last llvm-gcc Release!
That’s right! It’s the end of an era. The llvm-gcc front-end has served us very well over the years, but with the advent of Clang and DragonEgg it is starting to suffer from bit rot. Starting with the 3.0 release, Clang will be the main compiler for most people. For those who wish to use a GCC-compatible front-end or who use non-C languages, there is Duncan’s DragonEgg project.
• No new features will be accepted after branch creation. This is a firm requirement for the release.
• Phase 1 testing will start up immediately after branch creation. It will last until the 14th. During phase 1, we will accept only patches for regressions from the 2.8 release and any clean-up work for existing features. All features must be completed before phase 2 starts. If a feature is not completed by the beginning of phase 2, it will be disabled by default.
• Phase 2 testing will start up on the 21st. During phase 2, we will accept only patches for critical bugs.
• There will be a third phase of testing only if phase 2 testing unveils critical bugs or regressions from the 2.8 release.
• The release is scheduled for April 3rd!
Top-of-tree is now open for submissions. The 2.9 release branch and tags are available for you to check out and test. However, please do not commit patches to the 2.9 release branch. All patches must be approved by the “code owners” before they are accepted into the branch. See this website for who to contact regarding a patch you feel is necessary for the release:
Please grab the release sources, build them, and start compiling things. File bugs for any errors you see. Once binaries are available, we will be posting them for people to use.
There have been discussions about creating a mirror branch in the git repository. However, my git-fu is sufficiently bad enough that I will cause the moon to fall from the sky if I were to attempt it (and that’s if I did nothing wrong). I encourage someone in the community who knows git better than me to create the branches.
If you wish to volunteer to be a tester, please let me know!
The release tags are now available for check-out. The branch and tag structure in SVN is detailed on this webpage:
There is a script which you can run to build the compiler and have it ready to run the nightly tests:
Testers need to verify that there are no regressions with respect to LLVM 2.8. Please run the test suite to verify this. (Tanya, I lost the script that does this comparison. Do you have it still?)
If you file a bug report that you think is necessary for the 2.9 release, please tag that bug with the 2.9 version. The code owners will perform triage on the bugs and select severity. Unfortunately, not all bugs may be resolved by the release date, but we should address all critical bugs.
Please review any patches you feel are necessary for the release. As we go further into the release process, be more and more conservative in your choices.
Also, please keep an eye on the Bugzilla database. If any issues arise they need to be triaged and classified accordingly.
Once you’ve determined that a patch is good for the release, please forward it to me and I will patch the branch.
Share and enjoy!