sammccall added a comment.

To summarize offline discussion: I think we need to split this patch up, as the 
scope is growing. (In a really useful direction I think!)

The first patch should add the include graph data structure. (I think the right 
place for it is probably Headers.h, as we want to reuse it). It can also 
include the code to serialize/deserialize it in index files, which is in good 
shape.

Then we have at least 3 independent dependent patches :-)

- populate the transitive include graph structure from a PPCallbacks. Probably 
hook it up to the static index FrontendAction too, since that's simple. This 
can be tested directly.
- write the include graph appropriately in auto-index. This isn't quite 
trivial, as it needs to be partitioned by file.
- read shards in auto-index. This could be all-at-once, or a simple version 
that didn't follow #include edges first, and then modify to consume the include 
graph.

This is a bunch more work than originally envisioned, but having dependency 
graph info in the index enables/improves a bunch of features. Making this 
reusable across indexes seems worth it.


Repository:
  rCTE Clang Tools Extra

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

https://reviews.llvm.org/D54817



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

Reply via email to