]> granicus.if.org Git - clang/commit
Don't devirtualize calls when we don't have the correct type of the this pointer
authorRafael Espindola <rafael.espindola@gmail.com>
Thu, 28 Jun 2012 14:28:57 +0000 (14:28 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Thu, 28 Jun 2012 14:28:57 +0000 (14:28 +0000)
commitea01d7661751e062bb670cc1a0bdfee5789cb96f
tree46cf0d6f634b99dba0278c232d90f9e1638b86ae
parentde981f3ff163bc9ec69e4c5e7316e94276412993
Don't devirtualize calls when we don't have the correct type of the this pointer
handy. It can be done, but we would have to build a derived-to-base cast
during codegen to compute the correct this pointer.

I will handle covariant returns next.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159350 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGExprCXX.cpp
test/CodeGenCXX/devirtualize-virtual-function-calls-final.cpp