[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