summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPiotr Padlewski <piotr.padlewski@gmail.com>2017-01-15 22:38:15 +0000
committerPiotr Padlewski <piotr.padlewski@gmail.com>2017-01-15 22:38:15 +0000
commitad0899426e044006797a2f4cc4df418e0bf91097 (patch)
treee04d24409f6624db2b07a575b364a2aa4d422d78
parent0ff2de3630113d34b46f275fb32065610ec8f499 (diff)
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 git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_40@292080 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--docs/ReleaseNotes.rst26
1 files changed, 26 insertions, 0 deletions
diff --git a/docs/ReleaseNotes.rst b/docs/ReleaseNotes.rst
index 5b035cd332..b166dc63af 100644
--- a/docs/ReleaseNotes.rst
+++ b/docs/ReleaseNotes.rst
@@ -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
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^