kadircet added inline comments.

================
Comment at: clang-tools-extra/clangd/index/FileIndex.cpp:97
+/// paths used by \p FileSyms.
+void shardSlabToFiles(const SymbolSlab &Syms, const RelationSlab &Rels,
+                      FileSymbols &FileSyms, llvm::StringRef HintPath) {
----------------
kadircet wrote:
> sammccall wrote:
> > This screams out to be shared with BackgroundIndex::update(). Is it very 
> > hard to do?
> > 
> > Things that are different:
> >  - no duplication of symbol into defining file (why?)
> >  - refs not gathered here (but I guess empty input -> empty output?)
> >  - include graph not gathered here (same)
> >  - this holds 3 copies of all the data at peak, other impl holds 2
> > 
> > I imagine factoring out a function that returns a StringMap<File> like in 
> > BackgroundIndex::Update, but File has a build() function that returns an 
> > IndexFileIn or so.
> > (Ooh, is depending on IndexFileIn a layering violation? Maybe we should 
> > move that into another header. Duplicating the struct is probably OK for 
> > now)
> In backgroundindex we "prefilter" symbols and only duplicate the ones coming 
> from modified files, whereas in this one we duplicate every symbol no matter 
> what. I didn't want to change backgroundindex into post filtering mode (I 
> suppose that's what you mean by the last item).
> 
> as for the first bullet point, duplicating in case of preamble symbols 
> wouldn't matter since we don't merge(rather pick one) while building the 
> index for preamblesymbols. I suppose storing them twice shouldn't be a huge 
> issue.
> 
> Depending to `IndexFileIn` in "Index.h" would be a violation, but depending 
> on it in "FileIndex.h" is fine.
> 
> I am happy to refactor a `StringMap<File> shardIndexToFiles(IndexFileIn, 
> HintPath)` into "FileIndex.h" that can be used by both backgroundindex and 
> this, if you are OK with above mentioned regressions.
implemented a version of this that only copies data when requested. Hence the 
pre/post filtering argument is gone.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D77732/new/

https://reviews.llvm.org/D77732



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to