diff options
| author | Piotr Padlewski <piotr.padlewski@gmail.com> | 2016-12-28 18:23:23 +0000 |
|---|---|---|
| committer | Piotr Padlewski <piotr.padlewski@gmail.com> | 2016-12-28 18:23:23 +0000 |
| commit | a280f674b5bfe517be4782072ca81e4b49d2b4df (patch) | |
| tree | 4e73f6b036052ae0a88c5a31f4aee9d5cf68aae3 /clang/docs | |
| parent | f9b17d4878ceb6d7c13d2e0d9d3185dfb3b22ee8 (diff) | |
| download | bcm5719-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.rst | 18 |
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 |

