[PATCH] D52531: [clangd] clangd-indexer gathers refs and stores them in index files.

Sam McCall via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Oct 4 02:28:56 PDT 2018


sammccall marked 2 inline comments as done.
sammccall added a comment.

In https://reviews.llvm.org/D52531#1254828, @hokein wrote:

> The ref output is not complete (missing all refs in headers, since we only collect refs from main file), I think we will add an option to `SymbolCollector` to allow collecting refs in header (but this option is only used for building static index)?


We indeed need to include them somehow. Added a fixme to IndexAction, because I'm not totally sure at what level we should address this.



================
Comment at: clangd/index/Serialization.cpp:301
+// A refs section has data grouped by Symbol. Each symbol has:
+//  - SymbolID: 20 bytes
+//  - NumRefs: varint
----------------
hokein wrote:
> Looks like we can improve the size further, we are storing SymbolID twice (one in `symb` section), I think we could   optimize it by introducing a `symi` section or using `stri` section?
Yes, there's a TODO on line 250. I opted not to do so in this patch, as it's a more invasive change and I wasn't sure about the exact representation.
It should be straightforward to add later and bump the version.


Repository:
  rCTE Clang Tools Extra

https://reviews.llvm.org/D52531





More information about the cfe-commits mailing list