@@ -354,9 +354,6 @@ class ASTIdentifierLookupTrait;
354354// / The on-disk hash table(s) used for DeclContext name lookup.
355355struct DeclContextLookupTable ;
356356
357- // / The on-disk hash table(s) used for specialization decls.
358- struct LazySpecializationInfoLookupTable ;
359-
360357} // namespace reader
361358
362359} // namespace serialization
@@ -635,40 +632,20 @@ class ASTReader
635632 llvm::DenseMap<const DeclContext *,
636633 serialization::reader::DeclContextLookupTable> Lookups;
637634
638- using SpecLookupTableTy =
639- llvm::DenseMap<const Decl *,
640- serialization::reader::LazySpecializationInfoLookupTable>;
641- // / Map from decls to specialized decls.
642- SpecLookupTableTy SpecializationsLookups;
643- // / Split partial specialization from specialization to speed up lookups.
644- SpecLookupTableTy PartialSpecializationsLookups;
645-
646- bool LoadExternalSpecializationsImpl (SpecLookupTableTy &SpecLookups,
647- const Decl *D);
648- bool LoadExternalSpecializationsImpl (SpecLookupTableTy &SpecLookups,
649- const Decl *D,
650- ArrayRef<TemplateArgument> TemplateArgs);
651-
652635 // Updates for visible decls can occur for other contexts than just the
653636 // TU, and when we read those update records, the actual context may not
654637 // be available yet, so have this pending map using the ID as a key. It
655- // will be realized when the data is actually loaded.
656- struct UpdateData {
638+ // will be realized when the context is actually loaded.
639+ struct PendingVisibleUpdate {
657640 ModuleFile *Mod;
658641 const unsigned char *Data;
659642 };
660- using DeclContextVisibleUpdates = SmallVector<UpdateData , 1 >;
643+ using DeclContextVisibleUpdates = SmallVector<PendingVisibleUpdate , 1 >;
661644
662645 // / Updates to the visible declarations of declaration contexts that
663646 // / haven't been loaded yet.
664647 llvm::DenseMap<GlobalDeclID, DeclContextVisibleUpdates> PendingVisibleUpdates;
665648
666- using SpecializationsUpdate = SmallVector<UpdateData, 1 >;
667- using SpecializationsUpdateMap =
668- llvm::DenseMap<GlobalDeclID, SpecializationsUpdate>;
669- SpecializationsUpdateMap PendingSpecializationsUpdates;
670- SpecializationsUpdateMap PendingPartialSpecializationsUpdates;
671-
672649 // / The set of C++ or Objective-C classes that have forward
673650 // / declarations that have not yet been linked to their definitions.
674651 llvm::SmallPtrSet<Decl *, 4 > PendingDefinitions;
@@ -701,11 +678,6 @@ class ASTReader
701678 llvm::BitstreamCursor &Cursor,
702679 uint64_t Offset, GlobalDeclID ID);
703680
704- bool ReadSpecializations (ModuleFile &M, llvm::BitstreamCursor &Cursor,
705- uint64_t Offset, Decl *D, bool IsPartial);
706- void AddSpecializations (const Decl *D, const unsigned char *Data,
707- ModuleFile &M, bool IsPartial);
708-
709681 // / A vector containing identifiers that have already been
710682 // / loaded.
711683 // /
@@ -1447,14 +1419,6 @@ class ASTReader
14471419 const serialization::reader::DeclContextLookupTable *
14481420 getLoadedLookupTables (DeclContext *Primary) const ;
14491421
1450- // / Get the loaded specializations lookup tables for \p D,
1451- // / if any.
1452- serialization::reader::LazySpecializationInfoLookupTable *
1453- getLoadedSpecializationsLookupTables (const Decl *D, bool IsPartial);
1454-
1455- // / If we have any unloaded specialization for \p D
1456- bool haveUnloadedSpecializations (const Decl *D) const ;
1457-
14581422private:
14591423 struct ImportedModule {
14601424 ModuleFile *Mod;
@@ -2112,12 +2076,6 @@ class ASTReader
21122076 unsigned BlockID,
21132077 uint64_t *StartOfBlockOffset = nullptr );
21142078
2115- bool LoadExternalSpecializations (const Decl *D, bool OnlyPartial) override ;
2116-
2117- bool
2118- LoadExternalSpecializations (const Decl *D,
2119- ArrayRef<TemplateArgument> TemplateArgs) override ;
2120-
21212079 // / Finds all the visible declarations with a given name.
21222080 // / The current implementation of this method just loads the entire
21232081 // / lookup table as unmaterialized references.
0 commit comments