Allow elision of invocations of move constructors from temporary objects.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124455 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CodeGenCXX/rvalue-references.cpp b/test/CodeGenCXX/rvalue-references.cpp
index a7c74ae..e151723 100644
--- a/test/CodeGenCXX/rvalue-references.cpp
+++ b/test/CodeGenCXX/rvalue-references.cpp
@@ -62,13 +62,10 @@
 // CHECK: define void @_Z15elide_copy_initv
 void elide_copy_init() {
   ok = false;
-  // FIXME: We're doing an extra move here, when we shouldn't be!
-  // CHECK: call void @_Z4testv(%class.C* sret %ref.tmp)
-  // CHECK: call void @_ZN1CC1EOS_(%class.C* %a, %class.C* %ref.tmp)
-  // CHECK: call void @_ZN1CD1Ev(%class.C* %ref.tmp)
+  // CHECK: call void @_Z4testv
   C a = test();
-  // CHECK: call void @_ZN1CD1Ev(%class.C* %a)
-  // CHECK: ret void
+  // CHECK-NEXT: call void @_ZN1CD1Ev
+  // CHECK-NEXT: ret void
 }
 
 // CHECK: define void @_Z16test_move_returnv