summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/devirtualize-virtual-function-calls.cpp
Commit message (Collapse)AuthorAgeFilesLines
* PR30937: don't devirtualize if we find that the callee is a pure virtualRichard Smith2016-11-111-0/+34
| | | | | | | | function. In that case, there is no requirement that the callee is actually defined, and the code may in fact be valid and have defined behavior if the virtual call is unreachable. llvm-svn: 286534
* Improve obvious-most-derived-type devirtualization:Richard Smith2016-11-031-1/+62
| | | | | | | | | | | | | | * if the base is produced by a series of derived-to-base conversions, check the expression inside them when looking for an expression with a known dynamic type * step past MaterializeTemporaryExprs when checking for a known dynamic type * when checking for a known dynamic type, treat all class prvalues as having a known dynamic type after skipping all relevant rvalue subobject adjustments * treat callees formed by pointer-to-member access for a non-reference member type like callees formed by member access. llvm-svn: 285954
* CHECK-LABEL-ify some code gen tests to improve diagnostic experience when ↵Stephen Lin2013-08-151-1/+1
| | | | | | tests fail. llvm-svn: 188447
* Provide fixed target triples to make test results consistent across ARM hosts.David Blaikie2012-09-101-2/+2
| | | | | | Patch by David Tweed, review by myself and John McCall. llvm-svn: 163564
* Devirtualize calls on glvalues produced by class member access expressions.Richard Smith2012-08-151-0/+17
| | | | | | Based on a patch by Yin Ma! llvm-svn: 161998
* Fix a crash I introduced in r159212.Rafael Espindola2012-06-271-0/+12
| | | | llvm-svn: 159279
* Fix a bug in my previous patch: If we are not doing a virtual call becauseRafael Espindola2012-06-261-0/+18
| | | | | | | the member expression is qualified, call the method specified in the code, not the most derived one we can find. llvm-svn: 159219
* Strip off parens and no-op casts when deciding if an expr can be ↵Anders Carlsson2011-04-101-1/+9
| | | | | | devirtualized. Fixes the second half of PR9660. llvm-svn: 129253
* Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.Daniel Dunbar2009-12-151-1/+1
| | | | | | | | | - This is designed to make it obvious that %clang_cc1 is a "test variable" which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it can be useful to redefine what gets run as 'clang -cc1' (for example, to set a default target). llvm-svn: 91446
* Even more devirtualization cleverness.Anders Carlsson2009-10-121-0/+16
| | | | llvm-svn: 83886
* More devirtualization improvements.Anders Carlsson2009-10-121-0/+10
| | | | llvm-svn: 83883
* Devirtualize calls on temporaries. A().f() for example.Anders Carlsson2009-10-121-0/+3
| | | | llvm-svn: 83882
* Factor out devirtualization checking into a separate function and make it ↵Anders Carlsson2009-10-121-0/+18
handle references correctly. llvm-svn: 83880
OpenPOWER on IntegriCloud