Announcing: LLVM 2.8 Release Schedule

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
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. 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. 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. :slight_smile:

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.

Cheers!
-bw

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. :slight_smile:

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

I'll fix this shortly.

Thanks.

-eric

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.

Hi Török,

I'll update that tonight. Thanks for reminding me!

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.

August 6th isn't the absolute last date for getting changes into the branch. But it is the date we want things to be stable for branching. As the release goes along, we will have stricter requirements for patches until only patches for regressions from 2.7 are allowed. So there is still time if you cannot meet the deadline.

P.S. Would have been nice to know about this schedule more than 2 days
ahead.

You're right, and I apologize for the short notice. Many things conspired to make this date the most desirable for branching. As I mentioned though, it won't be the last time changes can be submitted.

-bw

Due to several of our testers being unavailable for the proposed schedule and because the timeline is a bit too aggressive, we decided to push the release back a month. I'll send an updated schedule tonight. But it looks like we'll be releasing at the end of September instead.

-bw

I’m trying to understand how can I use the plugin support to make code transformations, but I cant get the PrintFunctionNames sample to work.
As I can see, the DLL is loaded by clang, but the FrontendPluginRegistry have no itens added.

What is the code thats call the FrontendPluginRegistry::Add function?

BTW, I’m using MSVC.

Thanks,
Makslane

Hi!

Makslane Araújo Rodrigues meinte am 05.08.2010 04:12:

As I can see, the DLL is loaded by clang, but the FrontendPluginRegistry
have no itens added.

This should help:
http://permalink.gmane.org/gmane.comp.compilers.clang.devel/8277

Regards, Jan.

Thanks, Jan

I will try this solution on windows !

Makslane