[llvm-branch-commits] [cfe-branch] r292080 - Mention Devirtualization and ThinLTO in ReleaseNotes

Piotr Padlewski via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Sun Jan 15 14:38:15 PST 2017


Author: prazek
Date: Sun Jan 15 16:38:15 2017
New Revision: 292080

URL: http://llvm.org/viewvc/llvm-project?rev=292080&view=rev
Log:
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


Modified:
    cfe/branches/release_40/docs/ReleaseNotes.rst

Modified: cfe/branches/release_40/docs/ReleaseNotes.rst
URL: http://llvm.org/viewvc/llvm-project/cfe/branches/release_40/docs/ReleaseNotes.rst?rev=292080&r1=292079&r2=292080&view=diff
==============================================================================
--- cfe/branches/release_40/docs/ReleaseNotes.rst (original)
+++ cfe/branches/release_40/docs/ReleaseNotes.rst Sun Jan 15 16:38:15 2017
@@ -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
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 




More information about the llvm-branch-commits mailing list