Speed up compilation of ASTImporter
Avoid recursively instantiating importSeq. Use initializer list expansion to stamp out a single instantiation of std::tuple of the deduced sequence of types, and thread the error around that tuple type. Avoids needlessly instantiating std::tuple N-1 times. new time to compile: 0m25.985s old time to compile: 0m35.563s new obj size: 10,000kb old obj size: 12,332kb I found the slow TU by looking at ClangBuildAnalyzer results, and looked at -ftime-trace for the file in chrome://tracing to find this. Tested with: clang-cl, MSVC, and GCC. Reviewed By: martong Differential Revision: https://reviews.llvm.org/D73667
Loading
Please register or sign in to comment