Modular Codegen: Add/use a bit in serialized function definitions to track...
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 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@299982 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- include/clang/AST/ASTContext.h 1 addition, 1 deletioninclude/clang/AST/ASTContext.h
- include/clang/AST/ExternalASTSource.h 1 addition, 1 deletioninclude/clang/AST/ExternalASTSource.h
- include/clang/Basic/Module.h 0 additions, 2 deletionsinclude/clang/Basic/Module.h
- include/clang/Sema/MultiplexExternalSemaSource.h 1 addition, 1 deletioninclude/clang/Sema/MultiplexExternalSemaSource.h
- include/clang/Serialization/ASTReader.h 3 additions, 1 deletioninclude/clang/Serialization/ASTReader.h
- lib/AST/ASTContext.cpp 2 additions, 5 deletionslib/AST/ASTContext.cpp
- lib/AST/ExternalASTSource.cpp 1 addition, 1 deletionlib/AST/ExternalASTSource.cpp
- lib/Basic/Module.cpp 1 addition, 1 deletionlib/Basic/Module.cpp
- lib/Sema/MultiplexExternalSemaSource.cpp 2 additions, 2 deletionslib/Sema/MultiplexExternalSemaSource.cpp
- lib/Serialization/ASTReader.cpp 7 additions, 13 deletionslib/Serialization/ASTReader.cpp
- lib/Serialization/ASTReaderDecl.cpp 2 additions, 0 deletionslib/Serialization/ASTReaderDecl.cpp
- lib/Serialization/ASTWriter.cpp 1 addition, 3 deletionslib/Serialization/ASTWriter.cpp
- lib/Serialization/ASTWriterDecl.cpp 8 additions, 6 deletionslib/Serialization/ASTWriterDecl.cpp
- test/Modules/Inputs/codegen-nodep/foo.h 5 additions, 0 deletionstest/Modules/Inputs/codegen-nodep/foo.h
- test/Modules/Inputs/codegen-nodep/foo.modulemap 1 addition, 0 deletionstest/Modules/Inputs/codegen-nodep/foo.modulemap
- test/Modules/Inputs/codegen/foo.h 26 additions, 0 deletionstest/Modules/Inputs/codegen/foo.h
- test/Modules/Inputs/codegen/use.cpp 8 additions, 0 deletionstest/Modules/Inputs/codegen/use.cpp
- test/Modules/codegen-nodep.test 13 additions, 0 deletionstest/Modules/codegen-nodep.test
- test/Modules/codegen.test 21 additions, 4 deletionstest/Modules/codegen.test
Loading
Please register or sign in to comment