Skip to content
Snippets Groups Projects
  • Richard Smith's avatar
    ad8f8700
    Re-commit r246497 (and dependent changes r246524 and r246521), reverted in · ad8f8700
    Richard Smith authored
    r246546, with a workaround for an MSVC 2013 miscompile and an MSVC 2015
    rejects-valid.
    
    Original commit message:
    
    [modules] Rework serialized DeclContext lookup table management. Instead of
    walking the loaded ModuleFiles looking for lookup tables for the context, store
    them all in one place, and merge them together if we find we have too many
    (currently, more than 4). If we do merge, include the merged form in our
    serialized lookup table, so that downstream readers never need to look at our
    imports' tables.
    
    This gives a huge performance improvement to builds with very large numbers of
    modules (in some cases, more than a 2x speedup was observed).
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246582 91177308-0d34-0410-b5e6-96231b3b80d8
    ad8f8700
    History
    Re-commit r246497 (and dependent changes r246524 and r246521), reverted in
    Richard Smith authored
    r246546, with a workaround for an MSVC 2013 miscompile and an MSVC 2015
    rejects-valid.
    
    Original commit message:
    
    [modules] Rework serialized DeclContext lookup table management. Instead of
    walking the loaded ModuleFiles looking for lookup tables for the context, store
    them all in one place, and merge them together if we find we have too many
    (currently, more than 4). If we do merge, include the merged form in our
    serialized lookup table, so that downstream readers never need to look at our
    imports' tables.
    
    This gives a huge performance improvement to builds with very large numbers of
    modules (in some cases, more than a 2x speedup was observed).
    
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246582 91177308-0d34-0410-b5e6-96231b3b80d8
Code owners
Assign users and groups as approvers for specific file changes. Learn more.