diff options
Diffstat (limited to 'clang/lib/CodeGen/CGDebugInfo.cpp')
| -rw-r--r-- | clang/lib/CodeGen/CGDebugInfo.cpp | 14 | 
1 files changed, 14 insertions, 0 deletions
| diff --git a/clang/lib/CodeGen/CGDebugInfo.cpp b/clang/lib/CodeGen/CGDebugInfo.cpp index a982ef89396..da37da91a04 100644 --- a/clang/lib/CodeGen/CGDebugInfo.cpp +++ b/clang/lib/CodeGen/CGDebugInfo.cpp @@ -1959,6 +1959,20 @@ llvm::DIType *CGDebugInfo::getOrCreateStandaloneType(QualType D,    return T;  } +void CGDebugInfo::addHeapAllocSiteMetadata(llvm::Instruction *CI, +                                           QualType D, +                                           SourceLocation Loc) { +  llvm::MDNode *node; +  if (D.getTypePtr()->isVoidPointerType()) { +    node = llvm::MDNode::get(CGM.getLLVMContext(), None); +  } else { +    QualType PointeeTy = D.getTypePtr()->getPointeeType(); +    node = getOrCreateType(PointeeTy, getOrCreateFile(Loc)); +  } + +  CI->setMetadata("heapallocsite", node); +} +  void CGDebugInfo::completeType(const EnumDecl *ED) {    if (DebugKind <= codegenoptions::DebugLineTablesOnly)      return; | 

