diff options
Diffstat (limited to 'llvm/lib/IR/DIBuilder.cpp')
-rw-r--r-- | llvm/lib/IR/DIBuilder.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/llvm/lib/IR/DIBuilder.cpp b/llvm/lib/IR/DIBuilder.cpp index 5217a4ea6dc..3394cff3520 100644 --- a/llvm/lib/IR/DIBuilder.cpp +++ b/llvm/lib/IR/DIBuilder.cpp @@ -150,16 +150,14 @@ DICompileUnit DIBuilder::createCompileUnit(unsigned Lang, StringRef Filename, "Invalid Language tag"); 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).release(); - TempRetainTypes = MDNode::getTemporary(VMContext, TElts).release(); - - TempSubprograms = MDNode::getTemporary(VMContext, TElts).release(); - - TempGVs = MDNode::getTemporary(VMContext, TElts).release(); - - TempImportedModules = MDNode::getTemporary(VMContext, TElts).release(); + // TODO: Once we make MDCompileUnit distinct, stop using temporaries here + // (just start with operands assigned to nullptr). + TempEnumTypes = MDTuple::getTemporary(VMContext, None).release(); + TempRetainTypes = MDTuple::getTemporary(VMContext, None).release(); + TempSubprograms = MDTuple::getTemporary(VMContext, None).release(); + TempGVs = MDTuple::getTemporary(VMContext, None).release(); + TempImportedModules = MDTuple::getTemporary(VMContext, None).release(); Metadata *Elts[] = {HeaderBuilder::get(dwarf::DW_TAG_compile_unit) .concat(Lang) @@ -174,6 +172,8 @@ DICompileUnit DIBuilder::createCompileUnit(unsigned Lang, StringRef Filename, TempEnumTypes, TempRetainTypes, TempSubprograms, TempGVs, TempImportedModules}; + // TODO: Switch to getDistinct(). We never want to merge compile units based + // on contents. MDNode *CUNode = MDNode::get(VMContext, Elts); // Create a named metadata so that it is easier to find cu in a module. |