[PATCH] D50261: [AST] Remove unnecessary indirections in DeclarationNameTable

Erich Keane via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 3 10:38:41 PDT 2018

erichkeane added a comment.

In https://reviews.llvm.org/D50261#1187705, @bricci wrote:

> It seems to me that the increased size of DeclarationNameTable is irrelevant since it is
>  only used as a member in ASTContext and never copied nor moved from. Also,
>  at least for C++ it seems to me that this structure is never "rarely used" since it is
>  used for every overloaded op/ctor/dtor (but I admit that I am not familiar with Sema)

In that case, adding the move ctor/move-operator = delete would make me happy here.

> I will do a comparison of the build time this evening. If this is a problem we can try to
>  find a way to avoid the QualType in CXXSpecialName (which is the reason why we need
>  Type.h) by replacing it by uintptr_t and doing some casts.

I'm hoping the answer you come back with is more "its only a 2% build time increase" and that we wont have to do things like that.

  rC Clang


More information about the cfe-commits mailing list