r290675 - Mention devirtualization in release notes

Piotr Padlewski via cfe-commits cfe-commits at lists.llvm.org
Wed Dec 28 10:23:24 PST 2016


Author: prazek
Date: Wed Dec 28 12:23:23 2016
New Revision: 290675

URL: http://llvm.org/viewvc/llvm-project?rev=290675&view=rev
Log:
Mention devirtualization in release notes

Modified:
    cfe/trunk/docs/ReleaseNotes.rst

Modified: cfe/trunk/docs/ReleaseNotes.rst
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/ReleaseNotes.rst?rev=290675&r1=290674&r2=290675&view=diff
==============================================================================
--- cfe/trunk/docs/ReleaseNotes.rst (original)
+++ cfe/trunk/docs/ReleaseNotes.rst Wed Dec 28 12:23:23 2016
@@ -47,6 +47,24 @@ sections with improvements to Clang's su
 Major New Features
 ------------------
 
+- Enhanced devirtualization with `-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);
+   }
+
+
 -  ...
 
 Improvements to Clang's diagnostics




More information about the cfe-commits mailing list