llvm-project/clang/lib/Index
Ben Langmuir 773ad55a39 [index] Fix performance regression with indexing macros
When using FileIndexRecord with macros, symbol references can be seen
out of source order, which was causing a regression to insert the
symbols into a vector. Instead, we now lazily sort the vector. The
impact is small on most code, but in very large files with many macro
references (M) near the beginning of the file followed by many decl
references (D) it was O(M*D). A particularly bad protobuf-generated
header was observed with a 100% regression in practice.

rdar://78628133
2021-06-16 10:16:26 -07:00
..
CMakeLists.txt Index: Remove unused internal header SimpleFormatContext.h, NFC 2020-12-04 15:10:27 -08:00
CommentToXML.cpp Avoid including FileManager.h from SourceManager.h 2020-03-11 13:53:12 -07:00
FileIndexRecord.cpp [index] Fix performance regression with indexing macros 2021-06-16 10:16:26 -07:00
FileIndexRecord.h [index] Fix performance regression with indexing macros 2021-06-16 10:16:26 -07:00
IndexBody.cpp [clang] RecursiveASTVisitor visits ObjCPropertyRefExpr's class receiver 2021-06-01 14:45:25 -04:00
IndexDecl.cpp [Index] Ignore nullptr decls for indexing 2021-05-06 13:12:26 -07:00
IndexSymbol.cpp [clang] p1099 using enum part 2 2021-06-08 11:11:46 -07:00
IndexTypeSourceInfo.cpp [clang] Do not consider the template arguments of bases to be bases themselves 2020-09-01 19:18:03 -04:00
IndexingAction.cpp Speculatively fix this harder and with improved spelling capabilities. 2021-05-27 09:54:09 -04:00
IndexingContext.cpp [index] Improve macro indexing support 2021-04-06 09:12:14 -07:00
IndexingContext.h [index] Improve macro indexing support 2021-04-06 09:12:14 -07:00
USRGeneration.cpp [index] Improve macro indexing support 2021-04-06 09:12:14 -07:00