Commit 4cd57bf3 authored by Piotr Padlewski's avatar Piotr Padlewski
Browse files

Mention Devirtualization and ThinLTO in ReleaseNotes

This might require some small fixits after generating
doc

Devirtualization:
https://reviews.llvm.org/D28606

ThinLTO:
https://reviews.llvm.org/D28746

llvm-svn: 292080
parent 17becd08
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
@@ -46,8 +46,34 @@ Major New Features
  clang to emit a warning or error if a function call meets one or more
  user-specified conditions.

- Enhanced devirtualization with
  '-fstrict-vtable-pointers <http://clang.llvm.org/docs/UsersManual.html#cmdoption-fstrict-vtable-pointers>`_.
  Clang devirtualizes across different basic blocks, like loops:

  .. code-block:: c++
       struct A {
           virtual void foo();
       };
       void indirect(A &a, int n) {
           for (int i = 0 ; i < n; i++)
               a.foo();
       }
       void test(int n) {
           A a;
           indirect(a, n);
       }


-  ...

Improvements to ThinLTO (-flto=thin)
------------------------------------
- Integration with profile data (PGO). When available, profile data enables
  more accurate function importing decisions, as well as cross-module indirect
  call promotion.
- Significant build-time and binary-size improvements when compiling with debug
  info (-g).

Improvements to Clang's diagnostics
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^