#
ecbe2e97 |
| 28-Jun-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix another issue with devirtualizing calls to final methods by passing them the correct this pointer. There is some potential for sharing a bit more code with canDevirtualizeMemberFunctionCalls, but
Fix another issue with devirtualizing calls to final methods by passing them the correct this pointer. There is some potential for sharing a bit more code with canDevirtualizeMemberFunctionCalls, but that can be done in an independent patch.
llvm-svn: 159326
show more ...
|
#
49e860b2 |
| 26-Jun-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
During codegen of a virtual call we would extract any casts in the expression to see if we had an underlying final class or method, but we would then use the cast type to do the call, resulting in a
During codegen of a virtual call we would extract any casts in the expression to see if we had an underlying final class or method, but we would then use the cast type to do the call, resulting in a direct call to the wrong method.
llvm-svn: 159212
show more ...
|
Revision tags: llvmorg-3.1.0, llvmorg-3.1.0-rc3, llvmorg-3.1.0-rc2, llvmorg-3.1.0-rc1, llvmorg-3.0.0, llvmorg-3.0.0-rc4, llvmorg-3.0.0-rc3, llvmorg-3.0.0-rc2, llvmorg-3.0.0-rc1, llvmorg-2.9.0, llvmorg-2.9.0-rc3, llvmorg-2.9.0-rc2, llvmorg-2.9.0-rc1 |
|
#
6b3afd7d |
| 29-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
When trying to get the most derived class, don't assume that we can ignore all casts. We can only ignore derived-to-base and no-op casts. Fixes selfhost.
llvm-svn: 124528
|
#
1ae64c5a |
| 29-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
When calling a virtual member function on a base class and the most derived class is marked 'final', we can devirtualize the call.
llvm-svn: 124524
|
#
19588aa4 |
| 23-Jan-2011 |
Anders Carlsson <andersca@mac.com> |
Get rid of the [[final]] C++0x attribute.
llvm-svn: 124083
|