[AST] Only store data for the NRVO candidate in ReturnStmt if needed
authorBruno Ricci <riccibrun@gmail.com>
Tue, 30 Oct 2018 14:40:49 +0000 (14:40 +0000)
committerBruno Ricci <riccibrun@gmail.com>
Tue, 30 Oct 2018 14:40:49 +0000 (14:40 +0000)
commit023b1d19f3de5ed7cec535295bf0d7a9f99ea561
treed64648f8548f834e3bfb961785dcf5e665e832ed
parent92964e74a55592b8a6d9ee6e6b5edf29ed83233e
[AST] Only store data for the NRVO candidate in ReturnStmt if needed

Only store the NRVO candidate if needed in ReturnStmt.
A good chuck of all of the ReturnStmt have no NRVO candidate
(more than half when parsing all of Boost). For all of them
this saves one pointer. This has no impact on children().

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

Reviewed By: rsmith

llvm-svn: 345605
clang/include/clang/AST/Stmt.h
clang/lib/AST/ASTImporter.cpp
clang/lib/AST/Stmt.cpp
clang/lib/Analysis/BodyFarm.cpp
clang/lib/CodeGen/CGObjC.cpp
clang/lib/Sema/SemaStmt.cpp
clang/lib/Serialization/ASTReaderStmt.cpp
clang/lib/Serialization/ASTWriterStmt.cpp