Emit lifetime.start / lifetime.end markers for unnamed temporary objects.
authorArnaud A. de Grandmaison <arnaud.degrandmaison@arm.com>
Thu, 2 Oct 2014 12:19:51 +0000 (12:19 +0000)
committerArnaud A. de Grandmaison <arnaud.degrandmaison@arm.com>
Thu, 2 Oct 2014 12:19:51 +0000 (12:19 +0000)
commit42d314d1ba7fd02da1784c2a2e26e7a91a6ef1b4
tree210dca4280865c7a7848760ce67e68e2559eb43e
parent4ae7f2e839957dbb1f7bc38f524adf6c6d4b416a
Emit lifetime.start / lifetime.end markers for unnamed temporary objects.

This will give more information to the optimizers so that they can reuse stack slots
and reduce stack usage.

llvm-svn: 218865
clang/lib/CodeGen/CGCleanup.cpp
clang/lib/CodeGen/CGDecl.cpp
clang/lib/CodeGen/CGExpr.cpp
clang/lib/CodeGen/CodeGenFunction.cpp
clang/lib/CodeGen/CodeGenFunction.h
clang/test/CodeGenCXX/unnamed-object-lifetime.cpp [new file with mode: 0644]