diff --git a/llvm/include/llvm/IR/DebugInfoMetadata.h b/llvm/include/llvm/IR/DebugInfoMetadata.h index 457e29527732..af873b9367b6 100644 --- a/llvm/include/llvm/IR/DebugInfoMetadata.h +++ b/llvm/include/llvm/IR/DebugInfoMetadata.h @@ -2020,7 +2020,7 @@ class MDImportedEntity : public DebugNode { ~MDImportedEntity() {} static MDImportedEntity *getImpl(LLVMContext &Context, unsigned Tag, - MDScope *Scope, Metadata *Entity, + MDScope *Scope, DebugNodeRef Entity, unsigned Line, StringRef Name, StorageType Storage, bool ShouldCreate = true) { @@ -2040,7 +2040,7 @@ class MDImportedEntity : public DebugNode { public: DEFINE_MDNODE_GET(MDImportedEntity, - (unsigned Tag, MDScope *Scope, Metadata *Entity, + (unsigned Tag, MDScope *Scope, DebugNodeRef Entity, unsigned Line, StringRef Name = ""), (Tag, Scope, Entity, Line, Name)) DEFINE_MDNODE_GET(MDImportedEntity, @@ -2052,7 +2052,7 @@ public: unsigned getLine() const { return Line; } MDScope *getScope() const { return cast_or_null(getRawScope()); } - Metadata *getEntity() const { return getRawEntity(); } + DebugNodeRef getEntity() const { return DebugNodeRef(getRawEntity()); } StringRef getName() const { return getStringOperand(2); } Metadata *getRawScope() const { return getOperand(0); } diff --git a/llvm/lib/IR/DIBuilder.cpp b/llvm/lib/IR/DIBuilder.cpp index a6e3d3be888f..ba314b454624 100644 --- a/llvm/lib/IR/DIBuilder.cpp +++ b/llvm/lib/IR/DIBuilder.cpp @@ -174,7 +174,8 @@ static DIImportedEntity createImportedModule(LLVMContext &C, dwarf::Tag Tag, DIScope Context, Metadata *NS, unsigned Line, StringRef Name, SmallVectorImpl &AllImportedModules) { - DIImportedEntity M = MDImportedEntity::get(C, Tag, Context, NS, Line, Name); + DIImportedEntity M = + MDImportedEntity::get(C, Tag, Context, DebugNodeRef(NS), Line, Name); AllImportedModules.emplace_back(M.get()); return M; }