[3.8 Release] Please write release notes!

Dear lots of people,

The first comments on the 3.7 release expressed surprise that there
were no changes to the X86 or ARM targets. There had of course been a
lot of hard work and many changes, but none of it was mentioned in the
release notes.

Please help make the release notes more comprehensive this time. The
notes are of course not as important as the actual code, but they do
get read, and they are a good way of telling users about all the hard
work you have done in the past six months.

If you made any changes in the 3.8 time span that might be worth
mentioning, please add them to the release notes --- it does not have
to be big-ticket items. If you saw someone else commit something
interesting, prod them to write a note about it.

The 3.8-rc2 notes can be seen at [1]. To add something, commit it
directly to the branch, or if you prefer, send me a patch or even just
an email with some text. I would be very happy if we can get these
into good shape by the beginning of next week.

Some things that might be worth mentioning, in no particular order:
(based partially on Alex Bradbury's LLVM Weekly; thanks!)

- Intel, ARM, PowerPC, MIPS, SPARC, Hexagon, ..., target maintainers,
please write something about your target.

- Eric: should the new C API Changes part of the developer policy be
pointed out? Maybe in relation to where we mention changes to the C
API?

- David: can you write something about the new IR for exception
handling? Maybe just point into the ExceptionHandling doc?

- Alex L: I've seen a lot of MIR patches but don't know the status.
Anything to mention in the release notes?

- Dylan: should we mention the new AVR target, or is it too early?

- Richard: anything on the C++ front? What's the status on coroutines?

- Jonathan and other OpenMP folks: it's no longer behind a flag; would
be great to get some notes on this.

- Artem: there's been a bunch of CUDA patches. Anything that should be
mentioned in the release notes?

- Jordan & Anna: any new checkers that should be mentioned?

- Chih-Hung: should the notes mention the emutls-style TLS model?

- Lang: you did a lot of work on the Kalidoscope tutorial. Maybe we
should mention that?

.. tell me what I missed :slight_smile:

Thanks,
Hans

[1]. http://llvm.org/pre-releases/3.8.0/#rc2.

Hans,

It might be worth putting a mention in the clang release notes about autoconf being deprecated. I’ve attached a patch.

Thanks,
-Chris

clang-release-note-cmake.diff (649 Bytes)

Thanks! r260718.

Dear lots of people,

The first comments on the 3.7 release expressed surprise that there
were no changes to the X86 or ARM targets. There had of course been a
lot of hard work and many changes, but none of it was mentioned in the
release notes.

Please help make the release notes more comprehensive this time. The
notes are of course not as important as the actual code, but they do
get read, and they are a good way of telling users about all the hard
work you have done in the past six months.

If you made any changes in the 3.8 time span that might be worth
mentioning, please add them to the release notes --- it does not have
to be big-ticket items. If you saw someone else commit something
interesting, prod them to write a note about it.

The 3.8-rc2 notes can be seen at [1]. To add something, commit it
directly to the branch, or if you prefer, send me a patch or even just
an email with some text. I would be very happy if we can get these
into good shape by the beginning of next week.

Some things that might be worth mentioning, in no particular order:
(based partially on Alex Bradbury's LLVM Weekly; thanks!)

- Intel, ARM, PowerPC, MIPS, SPARC, Hexagon, ..., target maintainers,
please write something about your target.

- Eric: should the new C API Changes part of the developer policy be
pointed out? Maybe in relation to where we mention changes to the C
API?

- David: can you write something about the new IR for exception
handling? Maybe just point into the ExceptionHandling doc?

- Alex L: I've seen a lot of MIR patches but don't know the status.
Anything to mention in the release notes?

- Dylan: should we mention the new AVR target, or is it too early?

- Richard: anything on the C++ front? What's the status on coroutines?

Neither coroutines nor concepts are sufficiently far progressed to be worth
mentioning. However, we have implemented
New Rules for auto deduction from braced-init-list. in 3.8,
which is a backwards-incompatible semantics change and should definitely be
noted.

About emutls mode, maybe the release note can mention the new flag -femulated-tls?
I have a short description in UsersManual.rst, http://reviews.llvm.org/D10524#11beea47.
Thanks.

Sounds like something good to put in, could you make a patch for the release notes?

-eric

HI Hans,

  • The Kaleidoscope tutorials have been updated to use the ORC JIT APIs.

  • ORC now has a basic set of C bindings.

I believe the ORC remote JIT support actually went in before 3.8 branched too, but it’s still experimental. I’m not sure I’d mention it in the release notes.

Cheers,
Lang.

Hi Hans,

CUDA support:

Clang has experimental support for end-to-end CUDA compilation now:

  • driver now detects CUDA installation, creates host and device compilation pipelines,
    links device-side code with appropriate CUDA bitcode and produces single object file
    with host and GPU code.
  • Implemented target attribute-based function overloading which allows clang to compile
    CUDA sources without splitting them into separate host/device TUs.

Hi Hans,
Here's the note about Hexagon:

In addition to general code size and performance improvements, Hexagon target now has basic support for Hexagon V60 architecture and Hexagon Vector Extensions (HVX).

-Krzysztof

Thanks! r260991.

Thanks! r260997.

Thanks! r260999.

Dear lots of people,

The first comments on the 3.7 release expressed surprise that there
were no changes to the X86 or ARM targets. There had of course been a
lot of hard work and many changes, but none of it was mentioned in the
release notes.

Please help make the release notes more comprehensive this time. The
notes are of course not as important as the actual code, but they do
get read, and they are a good way of telling users about all the hard
work you have done in the past six months.

If you made any changes in the 3.8 time span that might be worth
mentioning, please add them to the release notes --- it does not have
to be big-ticket items. If you saw someone else commit something
interesting, prod them to write a note about it.

The 3.8-rc2 notes can be seen at [1]. To add something, commit it
directly to the branch, or if you prefer, send me a patch or even just
an email with some text. I would be very happy if we can get these
into good shape by the beginning of next week.

Some things that might be worth mentioning, in no particular order:
(based partially on Alex Bradbury's LLVM Weekly; thanks!)

- Intel, ARM, PowerPC, MIPS, SPARC, Hexagon, ..., target maintainers,
please write something about your target.

- Eric: should the new C API Changes part of the developer policy be
pointed out? Maybe in relation to where we mention changes to the C
API?

- David: can you write something about the new IR for exception
handling? Maybe just point into the ExceptionHandling doc?

MSVC compatible exception handling has been completely overhauled.
New instructions have been introduced to facilitate this:
http://llvm.org/docs/ExceptionHandling.html#new-exception-handling-instructions

While we have done our best to test this feature thoroughly, it would not
be completely surprising if there were a few lingering issues that early
adopters might bump into.

Thanks! r261116.

If you were thinking about writing a note for 3.8 but didn't get
around to it yet, this is the final reminder.

(In particular, the notes for X86 and PowerPC could use some attention.)

Thanks,
Hans

Hi,

When ever I use the CodeComplete option include brief comments, I get this:

llvmerror.png

I checked it goes back to 3.7 and earlier too.

  • Eric: should the new C API Changes part of the developer policy be
    pointed out? Maybe in relation to where we mention changes to the C
    API?

Good point, how about this:

Dear lots of people,

The first comments on the 3.7 release expressed surprise that there
were no changes to the X86 or ARM targets. There had of course been a
lot of hard work and many changes, but none of it was mentioned in the
release notes.

Please help make the release notes more comprehensive this time. The
notes are of course not as important as the actual code, but they do
get read, and they are a good way of telling users about all the hard
work you have done in the past six months.

If you made any changes in the 3.8 time span that might be worth
mentioning, please add them to the release notes --- it does not have
to be big-ticket items. If you saw someone else commit something
interesting, prod them to write a note about it.

The 3.8-rc2 notes can be seen at [1]. To add something, commit it
directly to the branch, or if you prefer, send me a patch or even just
an email with some text. I would be very happy if we can get these
into good shape by the beginning of next week.

Some things that might be worth mentioning, in no particular order:
(based partially on Alex Bradbury's LLVM Weekly; thanks!)

- Intel, ARM, PowerPC, MIPS, SPARC, Hexagon, ..., target maintainers,
please write something about your target.

- Eric: should the new C API Changes part of the developer policy be
pointed out? Maybe in relation to where we mention changes to the C
API?

- David: can you write something about the new IR for exception
handling? Maybe just point into the ExceptionHandling doc?

- Alex L: I've seen a lot of MIR patches but don't know the status.
Anything to mention in the release notes?

- Dylan: should we mention the new AVR target, or is it too early?

- Richard: anything on the C++ front? What's the status on coroutines?

- Jonathan and other OpenMP folks: it's no longer behind a flag; would
be great to get some notes on this.

- Artem: there's been a bunch of CUDA patches. Anything that should be
mentioned in the release notes?

- Jordan & Anna: any new checkers that should be mentioned?

I did not see any response yet, so I cherry picked some changes:

- There are better diagnostics for loading analyzer plugins, when the
static analyzer is invoked from libtooling.
- New checks introduced for iOS / OS X localizability issues.
- New warning, when a nested if has the same condition (without side
effects) as the outer if.
- New checks for the ObjC lightweight generics feature.
- New checks that utilize nullability qualifiers.
- New check to find unsafe uses of vforked projects.
- New check to detect excess padding in records.
- Better modelling memcpy.
- Better modelling messaging to nil in ObjC.
- New API to generate error nodes.
- Fixes to the modelling of pointer arithmetic.
- Better handle range switch cases.
- Better handle realloc, fix some false positives in malloc-overflow check.
- Better model const methods.
- Support for lambda functions.
- Experimental feature to widen loops. When enabled, the analyzer will have
greater coverage in code that has loops with high constant bounds.
- Generate bug hash as an identifier for each report. It can be used to
track bugs in evolving code.
- Improve the modelling of static initializers.
- Better model stack allocated blocks in Obj-C.
- Better model nullptr_t.
- Better model casts between integral types.
- Various other improvements in the analyzer engine.

Feel free to reword and pick some of those into the release notes.

Thank you Gabor,

We’ve updated the Static Analyzer notes with the following summary. Looks like there are no glaring omissions from the list you’ve provided. I chose not to list the specific improvements in the core to keep this focused and user-friendly.

+The scan-build and scan-view tools will now be installed with clang. Use these
+tools to run the static analyzer on projects and view the produced results.

Thanks! r262496.