[PATCH] D129884: [clang][deps] Include canonical invocation in ContextHash

Ben Langmuir via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Jul 27 10:00:51 PDT 2022


benlangmuir added a comment.

In D129884#3677435 <https://reviews.llvm.org/D129884#3677435>, @jansvoboda11 wrote:

> Would it make sense for this to replace the existing strict context hash implementation?

It's not clear to me whether this would be a good tradeoff or not: the explicit build canonicalizes its invocation, but the implicit build does not do so to the same extent. Some of that could be improved with some effort, but for example the optimizations we use for search path pruning in the explicit build cannot be done up-front in the implicit build, since we don't yet know which paths are relevant.  I think we should consider this separately.

One necessary difference is that after scanning dependencies we want to hash the module dependencies (name + context hash), but we cannot do that in the implicit build since the dependencies are not discovered yet. The rest of the invocation hashing implementation could be shared though, if we decided it is the right approach.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D129884



More information about the cfe-commits mailing list