diff options
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | 20 | ||||
-rw-r--r-- | llvm/lib/IR/DIBuilder.cpp | 20 | ||||
-rw-r--r-- | llvm/lib/IR/DebugInfo.cpp | 4 | ||||
-rw-r--r-- | llvm/lib/IR/Verifier.cpp | 4 |
4 files changed, 26 insertions, 22 deletions
diff --git a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp index d1863672f12..7d0424a43b3 100644 --- a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp +++ b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp @@ -892,10 +892,10 @@ static void WriteMDCompositeType(const MDCompositeType *N, Record.push_back(N->getAlignInBits()); Record.push_back(N->getOffsetInBits()); Record.push_back(N->getFlags()); - Record.push_back(VE.getMetadataOrNullID(N->getElements())); + Record.push_back(VE.getMetadataOrNullID(N->getElements().get())); Record.push_back(N->getRuntimeLang()); Record.push_back(VE.getMetadataOrNullID(N->getVTableHolder())); - Record.push_back(VE.getMetadataOrNullID(N->getTemplateParams())); + Record.push_back(VE.getMetadataOrNullID(N->getTemplateParams().get())); Record.push_back(VE.getMetadataOrNullID(N->getRawIdentifier())); Stream.EmitRecord(bitc::METADATA_COMPOSITE_TYPE, Record, Abbrev); @@ -909,7 +909,7 @@ static void WriteMDSubroutineType(const MDSubroutineType *N, unsigned Abbrev) { Record.push_back(N->isDistinct()); Record.push_back(N->getFlags()); - Record.push_back(VE.getMetadataOrNullID(N->getTypeArray())); + Record.push_back(VE.getMetadataOrNullID(N->getTypeArray().get())); Stream.EmitRecord(bitc::METADATA_SUBROUTINE_TYPE, Record, Abbrev); Record.clear(); @@ -940,11 +940,11 @@ static void WriteMDCompileUnit(const MDCompileUnit *N, Record.push_back(N->getRuntimeVersion()); Record.push_back(VE.getMetadataOrNullID(N->getRawSplitDebugFilename())); Record.push_back(N->getEmissionKind()); - Record.push_back(VE.getMetadataOrNullID(N->getEnumTypes())); - Record.push_back(VE.getMetadataOrNullID(N->getRetainedTypes())); - Record.push_back(VE.getMetadataOrNullID(N->getSubprograms())); - Record.push_back(VE.getMetadataOrNullID(N->getGlobalVariables())); - Record.push_back(VE.getMetadataOrNullID(N->getImportedEntities())); + Record.push_back(VE.getMetadataOrNullID(N->getEnumTypes().get())); + Record.push_back(VE.getMetadataOrNullID(N->getRetainedTypes().get())); + Record.push_back(VE.getMetadataOrNullID(N->getSubprograms().get())); + Record.push_back(VE.getMetadataOrNullID(N->getGlobalVariables().get())); + Record.push_back(VE.getMetadataOrNullID(N->getImportedEntities().get())); Stream.EmitRecord(bitc::METADATA_COMPILE_UNIT, Record, Abbrev); Record.clear(); @@ -971,9 +971,9 @@ static void WriteMDSubprogram(const MDSubprogram *N, Record.push_back(N->getFlags()); Record.push_back(N->isOptimized()); Record.push_back(VE.getMetadataOrNullID(N->getFunction())); - Record.push_back(VE.getMetadataOrNullID(N->getTemplateParams())); + Record.push_back(VE.getMetadataOrNullID(N->getTemplateParams().get())); Record.push_back(VE.getMetadataOrNullID(N->getDeclaration())); - Record.push_back(VE.getMetadataOrNullID(N->getVariables())); + Record.push_back(VE.getMetadataOrNullID(N->getVariables().get())); Stream.EmitRecord(bitc::METADATA_SUBPROGRAM, Record, Abbrev); Record.clear(); diff --git a/llvm/lib/IR/DIBuilder.cpp b/llvm/lib/IR/DIBuilder.cpp index f20c22d8e3e..9ba20109168 100644 --- a/llvm/lib/IR/DIBuilder.cpp +++ b/llvm/lib/IR/DIBuilder.cpp @@ -75,7 +75,7 @@ void DIBuilder::trackIfUnresolved(MDNode *N) { void DIBuilder::finalize() { DIArray Enums = getOrCreateArray(AllEnumTypes); - TempEnumTypes->replaceAllUsesWith(Enums); + TempEnumTypes->replaceAllUsesWith(Enums.get()); SmallVector<Metadata *, 16> RetainValues; // Declarations and definitions of the same type may be retained. Some @@ -87,27 +87,27 @@ void DIBuilder::finalize() { if (RetainSet.insert(AllRetainTypes[I]).second) RetainValues.push_back(AllRetainTypes[I]); DIArray RetainTypes = getOrCreateArray(RetainValues); - TempRetainTypes->replaceAllUsesWith(RetainTypes); + TempRetainTypes->replaceAllUsesWith(RetainTypes.get()); DIArray SPs = getOrCreateArray(AllSubprograms); - TempSubprograms->replaceAllUsesWith(SPs); + TempSubprograms->replaceAllUsesWith(SPs.get()); for (unsigned i = 0, e = SPs.size(); i != e; ++i) { DISubprogram SP = cast<MDSubprogram>(SPs[i]); - if (MDNode *Temp = SP.getVariablesNodes()) { + if (MDNode *Temp = SP.getVariables().get()) { const auto &PV = PreservedVariables.lookup(SP); SmallVector<Metadata *, 4> Variables(PV.begin(), PV.end()); DIArray AV = getOrCreateArray(Variables); - Temp->replaceAllUsesWith(AV); + Temp->replaceAllUsesWith(AV.get()); } } DIArray GVs = getOrCreateArray(AllGVs); - TempGVs->replaceAllUsesWith(GVs); + TempGVs->replaceAllUsesWith(GVs.get()); SmallVector<Metadata *, 16> RetainValuesI(AllImportedModules.begin(), AllImportedModules.end()); DIArray IMs = getOrCreateArray(RetainValuesI); - TempImportedModules->replaceAllUsesWith(IMs); + TempImportedModules->replaceAllUsesWith(IMs.get()); // Now that all temp nodes have been replaced or deleted, resolve remaining // cycles. @@ -383,7 +383,7 @@ DIBuilder::createTemplateParameterPack(DIDescriptor Context, StringRef Name, DIType Ty, DIArray Val) { return createTemplateValueParameterHelper( VMContext, dwarf::DW_TAG_GNU_template_parameter_pack, Context, Name, Ty, - Val); + Val.get()); } DICompositeType DIBuilder::createClassType(DIDescriptor Context, StringRef Name, @@ -872,7 +872,7 @@ void DIBuilder::replaceArrays(DICompositeType &T, DIArray Elements, // arrays explicitly if they're unresolved, or else the cycles will be // orphaned. if (Elements) - trackIfUnresolved(Elements); + trackIfUnresolved(Elements.get()); if (TParams) - trackIfUnresolved(TParams); + trackIfUnresolved(TParams.get()); } diff --git a/llvm/lib/IR/DebugInfo.cpp b/llvm/lib/IR/DebugInfo.cpp index 42537d0fa98..0062f1bbf58 100644 --- a/llvm/lib/IR/DebugInfo.cpp +++ b/llvm/lib/IR/DebugInfo.cpp @@ -206,11 +206,11 @@ StringRef DIScope::getDirectory() const { } void DICompileUnit::replaceSubprograms(DIArray Subprograms) { - get()->replaceSubprograms(Subprograms); + get()->replaceSubprograms(MDSubprogramArray(Subprograms)); } void DICompileUnit::replaceGlobalVariables(DIArray GlobalVariables) { - get()->replaceGlobalVariables(GlobalVariables); + get()->replaceGlobalVariables(MDGlobalVariableArray(GlobalVariables)); } DILocation DILocation::copyWithNewScope(LLVMContext &Ctx, diff --git a/llvm/lib/IR/Verifier.cpp b/llvm/lib/IR/Verifier.cpp index 6cb3c726040..ba50ecb0064 100644 --- a/llvm/lib/IR/Verifier.cpp +++ b/llvm/lib/IR/Verifier.cpp @@ -110,6 +110,10 @@ private: OS << '\n'; } + template <class T> void Write(const MDTupleTypedArrayWrapper<T> &MD) { + Write(MD.get()); + } + void Write(const NamedMDNode *NMD) { if (!NMD) return; |