]> granicus.if.org Git - clang/commit
Generalize NRVO to cover C structs.
authorAkira Hatanaka <ahatanaka@apple.com>
Thu, 29 Mar 2018 17:56:24 +0000 (17:56 +0000)
committerAkira Hatanaka <ahatanaka@apple.com>
Thu, 29 Mar 2018 17:56:24 +0000 (17:56 +0000)
commitdd65d15d8c3f284b3e11541f3d6d865059d1d048
tree0c34b72f25afe3cf971f128a689dac348eb7f8f0
parentd0c687aaf82c4343b63d5f97cd79a15bec3f6b26
Generalize NRVO to cover C structs.

This commit generalizes NRVO to cover C structs (both trivial and
non-trivial structs).

rdar://problem/33599681

Differential Revision: https://reviews.llvm.org/D44968

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@328809 91177308-0d34-0410-b5e6-96231b3b80d8
14 files changed:
lib/CodeGen/CGDecl.cpp
lib/Sema/SemaDecl.cpp
lib/Sema/SemaStmt.cpp
test/CodeGen/64bit-swiftcall.c
test/CodeGen/aarch64-neon-perm.c
test/CodeGen/aarch64-v8.2a-neon-intrinsics.c
test/CodeGen/aggregate-assign-call.c
test/CodeGen/arm-swiftcall.c
test/CodeGen/arm_neon_intrinsics.c
test/CodeGen/atomic-ops.c
test/CodeGen/ppc64-align-struct.c
test/CodeGen/wasm-varargs.c
test/CodeGen/windows-swiftcall.c
test/CodeGenObjC/objc-non-trivial-struct-nrvo.m [new file with mode: 0644]