Index: llvm/lib/Bitcode/Reader/MetadataLoader.cpp =================================================================== --- llvm/lib/Bitcode/Reader/MetadataLoader.cpp +++ llvm/lib/Bitcode/Reader/MetadataLoader.cpp @@ -120,7 +120,6 @@ struct { SmallDenseMap Unknown; SmallDenseMap Final; - SmallDenseMap FwdDecls; SmallVector, 1> Arrays; } OldTypeRefs; @@ -246,11 +245,6 @@ bool DidReplaceTypeRefs = false; - // Give up on finding a full definition for any forward decls that remain. - for (const auto &Ref : OldTypeRefs.FwdDecls) - OldTypeRefs.Final.insert(Ref); - OldTypeRefs.FwdDecls.clear(); - // Upgrade from old type ref arrays. In strange cases, this could add to // OldTypeRefs.Unknown. for (const auto &Array : OldTypeRefs.Arrays) { @@ -302,10 +296,7 @@ void BitcodeReaderMetadataList::addTypeRef(MDString &UUID, DICompositeType &CT) { assert(CT.getRawIdentifier() == &UUID && "Mismatched UUID"); - if (CT.isForwardDecl()) - OldTypeRefs.FwdDecls.insert(std::make_pair(&UUID, &CT)); - else - OldTypeRefs.Final.insert(std::make_pair(&UUID, &CT)); + OldTypeRefs.Final.insert(std::make_pair(&UUID, &CT)); } Metadata *BitcodeReaderMetadataList::upgradeTypeRef(Metadata *MaybeUUID) {