summaryrefslogtreecommitdiff
path: root/lib/Target/README.txt
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2011-02-06 20:16:49 +0000
committerAnders Carlsson <andersca@mac.com>2011-02-06 20:16:49 +0000
commit9c93d48b6b82ffe08e59b130cd38405aa17ca961 (patch)
tree654f9bac1cff2e9ec47e6570d825999070b8e309 /lib/Target/README.txt
parent6475d9434ff3e981160f85d3f1aa07c9e0ace6f2 (diff)
downloadllvm-9c93d48b6b82ffe08e59b130cd38405aa17ca961.tar.gz
llvm-9c93d48b6b82ffe08e59b130cd38405aa17ca961.tar.bz2
llvm-9c93d48b6b82ffe08e59b130cd38405aa17ca961.tar.xz
Remove a virtual inheritance case that clang can devirtualize fully now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124989 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/README.txt')
-rw-r--r--lib/Target/README.txt21
1 files changed, 0 insertions, 21 deletions
diff --git a/lib/Target/README.txt b/lib/Target/README.txt
index c0a2b760de..6b4e33ea34 100644
--- a/lib/Target/README.txt
+++ b/lib/Target/README.txt
@@ -1866,27 +1866,6 @@ bb3: ; preds = %entry
}
//===---------------------------------------------------------------------===//
-clang -O3 fails to devirtualize this virtual inheritance case: (GCC PR45875)
-Looks related to PR3100
-
-struct c1 {};
-struct c10 : c1{
- virtual void foo ();
-};
-struct c11 : c10, c1{
- virtual void f6 ();
-};
-struct c28 : virtual c11{
- void f6 ();
-};
-void check_c28 () {
- c28 obj;
- c11 *ptr = &obj;
- ptr->f6 ();
-}
-
-//===---------------------------------------------------------------------===//
-
We compile this:
int foo(int a) { return (a & (~15)) / 16; }