]> granicus.if.org Git - clang/commitdiff
Mention devirtualization in release notes
authorPiotr Padlewski <piotr.padlewski@gmail.com>
Wed, 28 Dec 2016 18:23:23 +0000 (18:23 +0000)
committerPiotr Padlewski <piotr.padlewski@gmail.com>
Wed, 28 Dec 2016 18:23:23 +0000 (18:23 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@290675 91177308-0d34-0410-b5e6-96231b3b80d8

docs/ReleaseNotes.rst

index 11ee88f4ae202fd9378def467a7b78b7939e9005..3f25278f322e96a29e093fd3c0b64db559906573 100644 (file)
@@ -47,6 +47,24 @@ sections with improvements to Clang's support for those languages.
 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