summaryrefslogtreecommitdiffstats
path: root/clang/docs
diff options
context:
space:
mode:
authorPiotr Padlewski <piotr.padlewski@gmail.com>2016-12-28 18:23:23 +0000
committerPiotr Padlewski <piotr.padlewski@gmail.com>2016-12-28 18:23:23 +0000
commita280f674b5bfe517be4782072ca81e4b49d2b4df (patch)
tree4e73f6b036052ae0a88c5a31f4aee9d5cf68aae3 /clang/docs
parentf9b17d4878ceb6d7c13d2e0d9d3185dfb3b22ee8 (diff)
downloadbcm5719-llvm-a280f674b5bfe517be4782072ca81e4b49d2b4df.tar.gz
bcm5719-llvm-a280f674b5bfe517be4782072ca81e4b49d2b4df.zip
Mention devirtualization in release notes
llvm-svn: 290675
Diffstat (limited to 'clang/docs')
-rw-r--r--clang/docs/ReleaseNotes.rst18
1 files changed, 18 insertions, 0 deletions
diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst
index 11ee88f4ae2..3f25278f322 100644
--- a/clang/docs/ReleaseNotes.rst
+++ b/clang/docs/ReleaseNotes.rst
@@ -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
OpenPOWER on IntegriCloud