summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/rvalue-references.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Update Clang tests to handle explicitly typed load changes in LLVM.David Blaikie2015-02-271-1/+1
| | | | llvm-svn: 230795
* Update Clang tests to handle explicitly typed gep changes in LLVM.David Blaikie2015-02-271-1/+1
| | | | llvm-svn: 230783
* Mark C++ reference parameters as dereferenceableHal Finkel2014-07-181-8/+8
| | | | | | | | | | | | | | Because references must be initialized using some evaluated expression, they must point to something, and a callee can assume the reference parameter is dereferenceable. Taking advantage of a new attribute just added to LLVM, mark them as such. Because dereferenceability in addrspace(0) implies nonnull in the backend, we don't need both attributes. However, we need to know the size of the object to use the dereferenceable attribute, so for incomplete types we still emit only nonnull. llvm-svn: 213386
* Add 'nonnull' parameter or return attribute when producing an llvm pointer ↵Nick Lewycky2014-05-281-8/+8
| | | | | | type in a function type where the C++ type is a reference. Update the tests. llvm-svn: 209723
* CHECK-LABEL-ify some code gen tests to improve diagnostic experience when ↵Stephen Lin2013-08-151-7/+7
| | | | | | tests fail. llvm-svn: 188447
* When devirtualizing the conversion to a virtual base subobject,John McCall2012-08-011-1/+1
| | | | | | | | | | | don't explode if the offset we get is zero. This can happen if you have an empty virtual base class. While I'm at it, remove an unnecessary block from the IR-generation of the null-check, mark the eventual GEP as inbounds, and generally prettify. llvm-svn: 161100
* Update all tests other than Driver/std.cpp to use -std=c++11 rather thanRichard Smith2011-10-131-1/+1
| | | | | | -std=c++0x. Patch by Ahmed Charles! llvm-svn: 141900
* Move test, so it actually tests what it is supposed to (given that we don't ↵Eli Friedman2011-09-271-0/+8
| | | | | | have an AST verifier). llvm-svn: 140620
* Be sure to emit lvalue-to-rvalue casts for loads from x-values.John McCall2011-08-301-0/+18
| | | | | | | Doing this happens to disrupt the pattern that ARC was looking for for move optimizations, so we need to fix that simultaneously. llvm-svn: 138789
* Allow elision of invocations of move constructors from temporary objects.Douglas Gregor2011-01-271-6/+3
| | | | llvm-svn: 124455
* When producing IR for a lvalue-to-rvalue cast *as an lvalue*, onlyDouglas Gregor2011-01-271-0/+52
| | | | | | | | | non-class prvalues actually require the realization of a temporary. For everything else, we already have an lvalue (or class prvalue) in the subexpression. Note: we're missing some move elision in this case. I'll tackle that next. llvm-svn: 124453
* When performing a glvalue-to-xvalue static_cast that involves aDouglas Gregor2011-01-251-0/+36
derived-to-base conversion, set the cast kind and base path appropriately. llvm-svn: 124189
OpenPOWER on IntegriCloud