summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/MultiplexExternalSemaSource.cpp
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2017-04-11 20:46:34 +0000
committerDavid Blaikie <dblaikie@gmail.com>2017-04-11 20:46:34 +0000
commite6b7c28d17edf428c58ba65c549109c0a488a5be (patch)
tree115d3d7e4aea8682ad3d56bb219c1bcfafa84eda /clang/lib/Sema/MultiplexExternalSemaSource.cpp
parent4c54fe0c7bf8cc513509b488252d3e3f74958665 (diff)
downloadbcm5719-llvm-e6b7c28d17edf428c58ba65c549109c0a488a5be.tar.gz
bcm5719-llvm-e6b7c28d17edf428c58ba65c549109c0a488a5be.zip
Modular Codegen: Add/use a bit in serialized function definitions to track whether they are the subject of modular codegen
Some decls are created not where they are written, but in other module files/users (implicit special members and function template implicit specializations). To correctly identify them, use a bit next to the definition to track the modular codegen property. Discussed whether the module file bit could be omitted in favor of reconstituting from the modular codegen decls list - best guess today is that the efficiency improvement of not having to deserialize the whole list whenever any function is queried by a module user is worth it for the small size increase of this redundant (list + bit-on-def) representation. Reviewers: rsmith Differential Revision: https://reviews.llvm.org/D29901 llvm-svn: 299982
Diffstat (limited to 'clang/lib/Sema/MultiplexExternalSemaSource.cpp')
-rw-r--r--clang/lib/Sema/MultiplexExternalSemaSource.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/Sema/MultiplexExternalSemaSource.cpp b/clang/lib/Sema/MultiplexExternalSemaSource.cpp
index c97e4dfdd6d..f749b7d1394 100644
--- a/clang/lib/Sema/MultiplexExternalSemaSource.cpp
+++ b/clang/lib/Sema/MultiplexExternalSemaSource.cpp
@@ -95,9 +95,9 @@ MultiplexExternalSemaSource::GetExternalCXXCtorInitializers(uint64_t Offset) {
}
ExternalASTSource::ExtKind
-MultiplexExternalSemaSource::hasExternalDefinitions(unsigned int ID) {
+MultiplexExternalSemaSource::hasExternalDefinitions(const FunctionDecl *FD) {
for (const auto &S : Sources)
- if (auto EK = S->hasExternalDefinitions(ID))
+ if (auto EK = S->hasExternalDefinitions(FD))
if (EK != EK_ReplyHazy)
return EK;
return EK_ReplyHazy;
OpenPOWER on IntegriCloud