diff options
Diffstat (limited to 'llvm/lib/IR')
-rw-r--r-- | llvm/lib/IR/DIBuilder.cpp | 18 | ||||
-rw-r--r-- | llvm/lib/IR/MDBuilder.cpp | 6 |
2 files changed, 12 insertions, 12 deletions
diff --git a/llvm/lib/IR/DIBuilder.cpp b/llvm/lib/IR/DIBuilder.cpp index 2de109b86cf..fdc0b1bb97b 100644 --- a/llvm/lib/IR/DIBuilder.cpp +++ b/llvm/lib/IR/DIBuilder.cpp @@ -142,15 +142,15 @@ DICompileUnit DIBuilder::createCompileUnit(unsigned Lang, StringRef Filename, assert(!Filename.empty() && "Unable to create compile unit without filename"); Metadata *TElts[] = {HeaderBuilder::get(DW_TAG_base_type).get(VMContext)}; - TempEnumTypes = MDNode::getTemporary(VMContext, TElts); + TempEnumTypes = MDNode::getTemporary(VMContext, TElts).release(); - TempRetainTypes = MDNode::getTemporary(VMContext, TElts); + TempRetainTypes = MDNode::getTemporary(VMContext, TElts).release(); - TempSubprograms = MDNode::getTemporary(VMContext, TElts); + TempSubprograms = MDNode::getTemporary(VMContext, TElts).release(); - TempGVs = MDNode::getTemporary(VMContext, TElts); + TempGVs = MDNode::getTemporary(VMContext, TElts).release(); - TempImportedModules = MDNode::getTemporary(VMContext, TElts); + TempImportedModules = MDNode::getTemporary(VMContext, TElts).release(); Metadata *Elts[] = {HeaderBuilder::get(dwarf::DW_TAG_compile_unit) .concat(Lang) @@ -825,7 +825,7 @@ DICompositeType DIBuilder::createReplaceableForwardDecl( nullptr, // TemplateParams UniqueIdentifier.empty() ? nullptr : MDString::get(VMContext, UniqueIdentifier)}; - DICompositeType RetTy(MDNode::getTemporary(VMContext, Elts)); + DICompositeType RetTy(MDNode::getTemporary(VMContext, Elts).release()); assert(RetTy.isCompositeType() && "createReplaceableForwardDecl result should be a DIType"); if (!UniqueIdentifier.empty()) @@ -903,7 +903,7 @@ DIGlobalVariable DIBuilder::createTempGlobalVariableFwdDecl( return createGlobalVariableHelper(VMContext, Context, Name, LinkageName, F, LineNumber, Ty, isLocalToUnit, Val, Decl, false, [&](ArrayRef<Metadata *> Elts) { - return MDNode::getTemporary(VMContext, Elts); + return MDNode::getTemporary(VMContext, Elts).release(); }); } @@ -1007,7 +1007,7 @@ DISubprogram DIBuilder::createFunction(DIDescriptor Context, StringRef Name, return createFunctionHelper(VMContext, Context, Name, LinkageName, File, LineNo, Ty, isLocalToUnit, isDefinition, ScopeLine, Flags, isOptimized, Fn, TParams, Decl, - MDNode::getTemporary(VMContext, None), + MDNode::getTemporary(VMContext, None).release(), [&](ArrayRef<Metadata *> Elts) -> MDNode *{ MDNode *Node = MDNode::get(VMContext, Elts); // Create a named metadata so that we @@ -1030,7 +1030,7 @@ DIBuilder::createTempFunctionFwdDecl(DIDescriptor Context, StringRef Name, LineNo, Ty, isLocalToUnit, isDefinition, ScopeLine, Flags, isOptimized, Fn, TParams, Decl, nullptr, [&](ArrayRef<Metadata *> Elts) { - return MDNode::getTemporary(VMContext, Elts); + return MDNode::getTemporary(VMContext, Elts).release(); }); } diff --git a/llvm/lib/IR/MDBuilder.cpp b/llvm/lib/IR/MDBuilder.cpp index c7fcf7a2c34..d6d03b48d0f 100644 --- a/llvm/lib/IR/MDBuilder.cpp +++ b/llvm/lib/IR/MDBuilder.cpp @@ -68,9 +68,9 @@ MDNode *MDBuilder::createRange(const APInt &Lo, const APInt &Hi) { MDNode *MDBuilder::createAnonymousAARoot(StringRef Name, MDNode *Extra) { // To ensure uniqueness the root node is self-referential. - MDNode *Dummy = MDNode::getTemporary(Context, None); + auto Dummy = MDNode::getTemporary(Context, None); - SmallVector<Metadata *, 3> Args(1, Dummy); + SmallVector<Metadata *, 3> Args(1, Dummy.get()); if (Extra) Args.push_back(Extra); if (!Name.empty()) @@ -82,7 +82,7 @@ MDNode *MDBuilder::createAnonymousAARoot(StringRef Name, MDNode *Extra) { // !1 = metadata !{metadata !0} <- root // Replace the dummy operand with the root node itself and delete the dummy. Root->replaceOperandWith(0, Root); - MDNode::deleteTemporary(Dummy); + // We now have // !1 = metadata !{metadata !1} <- self-referential root return Root; |