[PATCH] D29951: Load lazily the template specialization in multi-module setups.

2017-11-21 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. For the record: relanded in r306903. https://reviews.llvm.org/D29951 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D29951: Load lazily the template specialization in multi-module setups.

2017-06-15 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev added a comment. Reverted in r305460 because broke libcxx modules builds. https://reviews.llvm.org/D29951 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D29951: Load lazily the template specialization in multi-module setups.

2017-06-09 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev closed this revision. v.g.vassilev added a comment. r305120. https://reviews.llvm.org/D29951 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D29951: Load lazily the template specialization in multi-module setups.

2017-06-09 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith accepted this revision. rsmith added a comment. This revision is now accepted and ready to land. Looks great, thanks! https://reviews.llvm.org/D29951 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D29951: Load lazily the template specialization in multi-module setups.

2017-06-09 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev updated this revision to Diff 102045. v.g.vassilev marked 2 inline comments as done. v.g.vassilev added a comment. Address comments. https://reviews.llvm.org/D29951 Files: include/clang/Serialization/ASTReader.h lib/Serialization/ASTReaderDecl.cpp Index:

[PATCH] D29951: Load lazily the template specialization in multi-module setups.

2017-05-10 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev updated this revision to Diff 98445. v.g.vassilev marked 2 inline comments as done. v.g.vassilev added a comment. Reduce the amount of calls to AddLazySpecializations. Remove assert. In order to create a reasonable test I need to use `-error-on-deserialized-decl` and I hit a bug:

[PATCH] D29951: Load lazily the template specialization in multi-module setups.

2017-05-09 Thread Richard Smith via Phabricator via cfe-commits
rsmith added inline comments. Comment at: lib/Serialization/ASTReaderDecl.cpp:213-215 + assert(isa(D) || + isa(D) && + "Decl doesn't have specializations."); Can this ever fail at runtime? I'd expect the below code to not compile if

[PATCH] D29951: Load lazily the template specialization in multi-module setups.

2017-05-09 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev updated this revision to Diff 98333. v.g.vassilev marked an inline comment as done. v.g.vassilev added a comment. Reduce code duplication. Use llvm_unreachable. https://reviews.llvm.org/D29951 Files: lib/Serialization/ASTReaderDecl.cpp Index: lib/Serialization/ASTReaderDecl.cpp

[PATCH] D29951: Load lazily the template specialization in multi-module setups.

2017-05-09 Thread Adrian Prantl via Phabricator via cfe-commits
aprantl added inline comments. Comment at: lib/Serialization/ASTReaderDecl.cpp:3814 + } else // TypeAliasTemplateDecl +assert(0 && "TypeAliasTemplateDecl doesn't have specs!"); +} llvm_unreachable() Repository: rL LLVM

[PATCH] D29951: Load lazily the template specialization in multi-module setups.

2017-02-14 Thread Vassil Vassilev via Phabricator via cfe-commits
v.g.vassilev created this revision. Currently, we load all template specialization if we have more than one module attached and we touch anything around the template definition. This patch registers the template specializations as a lazily-loadable entities. This reduces the amount of