[PATCH] D130864: [NFC] Introduce ASTContext::isInSameModule()
Chuanqi Xu via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Aug 1 20:07:49 PDT 2022
ChuanqiXu marked 2 inline comments as done.
ChuanqiXu added inline comments.
================
Comment at: clang/lib/AST/ASTContext.cpp:6232
+
+ auto getHashValueForPrimaryModule = [this](const Module *M) {
+ if (!PrimaryModuleHash.count(M))
----------------
erichkeane wrote:
> Doesn't `FindAndConstruct` do something pretty similar here? This lambda is incredibly inefficient as it requires two 3 separate lookups into the map.
>
> Instead, I believe `FindAndConstruct` will create a new entry (which can be 'set' if necessary', and then have its value returned.
On the one hand, `FindAndConstruct ` would construct an empty value, which is not we want. We want the value to be a hash_value of the name. On the other hand, your comments makes sense the implementation could be optimized. Currently, there would be at most 2 lookups and the number should be 1 at the hot path.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D130864/new/
https://reviews.llvm.org/D130864
More information about the cfe-commits
mailing list