]> granicus.if.org Git - clang/commit
[AST] Store the arguments of CXXConstructExpr in a trailing array
authorBruno Ricci <riccibrun@gmail.com>
Sat, 22 Dec 2018 14:39:30 +0000 (14:39 +0000)
committerBruno Ricci <riccibrun@gmail.com>
Sat, 22 Dec 2018 14:39:30 +0000 (14:39 +0000)
commitc98f5f226b27512367700c50c6fb477d663e5c95
tree5bd6ab093667d3103a1e6864763077083aa06138
parent71ba9f34f8103934f0aa68e04ba3f9b6bbca0a5f
[AST] Store the arguments of CXXConstructExpr in a trailing array

Store the arguments of CXXConstructExpr in a trailing array. This is very
similar to the CallExpr case in D55771, with the exception that there is
only one derived class (CXXTemporaryObjectExpr) and that we compute the
offset to the trailing array instead of storing it.

This saves one pointer per CXXConstructExpr and CXXTemporaryObjectExpr.

Reviewed By: rjmccall

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@350003 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/AST/ExprCXX.h
include/clang/AST/Stmt.h
lib/AST/ASTImporter.cpp
lib/AST/ExprCXX.cpp
lib/Sema/SemaInit.cpp
lib/Serialization/ASTReaderStmt.cpp
lib/Serialization/ASTWriterStmt.cpp