Good news, everybody!
It's that time of year again. We are going to release LLVM 2.8! I'm
taking over for Tanya to give her a much needed break. I can only
hope to perform as well as she has. This is my first time as release
manager, so bear with me if things don't go smoothly.
This message is mostly to give you an idea of the schedule we're
planning on. It's an aggressive schedule, but one that I think is
doable:
8/6 - Branch
Hi Bill,
I think llvm.org should be updated with the new schedule too.
8/9 - Pre-release1 out (binaries and tar balls), testing begins
8/16 - Pre-release1 testing ends
8/22 - Pre-release2 testing begins
8/29 - Pre-release2 testing ends
8/30 or 9/6 - Release!
The August 6th branch is coming up soon.
I ported LibClamAV from LLVM 2.7+custom patches to LLVM 2.8
(vanilla).
Not many API calls needed changes, which is nice.
There is one regression that I found so far: PR7712.
No memory leaks in our make check, which is nice again.
I link with the .a files, didn't test the new shared library (as
Debian's package doesn't built it at all).
I have added my comments to ReleaseNotes.html, here is a summary of
what I had to change:
1. the iterator cast that was already documented
2. the CallInst getOperator() that was already documented (switched to
using CallSite).
3. llvm.mem{cpy,move,set}.* intrinsics take 1 additional param.
I used UpgradeIntrinsic* to make them work, since
Intrinsic::getDeclaration was changed in an incompatible way too.
Are there any other intrinsics that changed?
4. SetCurrentDebugLocation takes a DebugLoc now
5. VISIBILITY_HIDDEN is gone
6. SMDiagnostic takes different parameters
7. APIs renamed:
llvm_report_error -> report_fatal_error
llvm_install_error_handler -> install_fatal_error_handler
llvm::DwarfExceptionHandling -> llvm::JITExceptionHandling
8. disable calls to memory_barrier. this is not correct for SMP but at
least its not crashing.
I'll probably have more to add to this list once I try to port our
bytecode compiler.
Leading up to that date,
please make sure that the tree is stable – no regressions, etc. If
you have a major feature which must make it into 2.8, please check
them in by this time; the sooner the better.
Only one for me is the patch to fix PR6758, since without it PPC JIT
doesn't work for long-running applications at all.
I have a new patch for it that I use in ClamAV, will try if it passes
LLVM's make check (and PR6902) and commit it.
If you aren't certain
whether your feature is necessary for 2.8, please ask the appropriate
code owner. If you are planning major changes which aren't needed for
2.8, please hold them off until after we branch.
TL;DR version: Don't break things until after August 6th. 
I will send out more information about the release later this week.
Previous platform testers have all ready been contacted about the
schedule. If you would like to volunteer for testing please contact
me and let me know.
As mentioned before the schedule is aggressive. The August 30th
deadline is only an estimate and we are currently thinking of pushing
it back a week.
P.S. Would have been nice to know about this schedule more than 2 days
ahead.
Best regards,
--Edwin