[PATCH] D19679: Method pool in modules: sync up out of date selectors before writing the module

Manman Ren via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 28 12:35:41 PDT 2016


manmanren created this revision.
manmanren added a reviewer: doug.gregor.
manmanren added a subscriber: cfe-commits.

Method Pool in modules: we make sure that if a module contains an entry for a selector, the entry should be complete, containing
 everything introduced by that module and all modules it imports.

Before writing out the method pool of a module, we sync up the out of date selectors by pulling in methods for the selectors from all modules it imports.

In ReadMethodPool, after pulling in the method pool entry for module A, this lets us skip the modules that module A imports.

http://reviews.llvm.org/D19679

Files:
  include/clang/Sema/ExternalSemaSource.h
  include/clang/Sema/MultiplexExternalSemaSource.h
  include/clang/Sema/Sema.h
  include/clang/Serialization/ASTReader.h
  lib/Sema/MultiplexExternalSemaSource.cpp
  lib/Sema/Sema.cpp
  lib/Sema/SemaDeclObjC.cpp
  lib/Serialization/ASTReader.cpp
  lib/Serialization/ASTWriter.cpp
  test/Modules/Inputs/MethodPoolCombined1.h
  test/Modules/Inputs/MethodPoolCombined2.h
  test/Modules/Inputs/MethodPoolString1.h
  test/Modules/Inputs/MethodPoolString2.h
  test/Modules/Inputs/module.map
  test/Modules/method_pool_write.m

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D19679.55458.patch
Type: text/x-patch
Size: 8357 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160428/b376301a/attachment-0001.bin>


More information about the cfe-commits mailing list