diff options
author | Chris Lattner <sabre@nondot.org> | 2009-12-28 21:44:41 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-12-28 21:44:41 +0000 |
commit | d5b8902c0329d80a216803b58dc3b689349a0c11 (patch) | |
tree | e0d286d799bba081cb2f4265fc6b91a652ea1744 | |
parent | 2d3dfd70eee48005f253b72d288e0eb4ed754fe0 (diff) |
this form of SetDebugLocation is about to go away, add some #includes that
are about to not come in implicitly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92228 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/CodeGen/CGDebugInfo.cpp | 17 | ||||
-rw-r--r-- | lib/CodeGen/CodeGenModule.cpp | 5 |
2 files changed, 15 insertions, 7 deletions
diff --git a/lib/CodeGen/CGDebugInfo.cpp b/lib/CodeGen/CGDebugInfo.cpp index b7401a40f2..0f590a3174 100644 --- a/lib/CodeGen/CGDebugInfo.cpp +++ b/lib/CodeGen/CGDebugInfo.cpp @@ -26,6 +26,7 @@ #include "llvm/DerivedTypes.h" #include "llvm/Instructions.h" #include "llvm/Intrinsics.h" +#include "llvm/LLVMContext.h" #include "llvm/Module.h" #include "llvm/ADT/StringExtras.h" #include "llvm/ADT/SmallVector.h" @@ -1216,9 +1217,12 @@ void CGDebugInfo::EmitDeclare(const VarDecl *Decl, unsigned Tag, llvm::DIScope DS(RegionStack.back()); llvm::DILocation DO(NULL); - llvm::DILocation DL = - DebugFactory.CreateLocation(Line, Column, DS, DO); - Builder.SetDebugLocation(Call, DL.getNode()); + llvm::DILocation DL = DebugFactory.CreateLocation(Line, Column, DS, DO); + + // TODO: Remove #include of LLVMContext from this. + llvm::LLVMContext &Context = Call->getContext(); + unsigned DbgMDKind = Context.getMetadata().getMDKindID("dbg"); + Context.getMetadata().addMD(DbgMDKind, DL.getNode(), Call); } /// EmitDeclare - Emit local variable declaration debug info. @@ -1419,7 +1423,12 @@ void CGDebugInfo::EmitDeclare(const BlockDeclRefExpr *BDRE, unsigned Tag, llvm::DILocation DO(NULL); llvm::DILocation DL = DebugFactory.CreateLocation(Line, PLoc.getColumn(), DS, DO); - Builder.SetDebugLocation(Call, DL.getNode()); + + // TODO: Remove #include of LLVMContext from this. + llvm::LLVMContext &Context = Call->getContext(); + unsigned DbgMDKind = Context.getMetadata().getMDKindID("dbg"); + Context.getMetadata().addMD(DbgMDKind, DL.getNode(), Call); + } void CGDebugInfo::EmitDeclareOfAutoVariable(const VarDecl *Decl, diff --git a/lib/CodeGen/CodeGenModule.cpp b/lib/CodeGen/CodeGenModule.cpp index a7e0552050..abb78f0dcf 100644 --- a/lib/CodeGen/CodeGenModule.cpp +++ b/lib/CodeGen/CodeGenModule.cpp @@ -30,6 +30,7 @@ #include "llvm/CallingConv.h" #include "llvm/Module.h" #include "llvm/Intrinsics.h" +#include "llvm/LLVMContext.h" #include "llvm/Target/TargetData.h" #include "llvm/Support/ErrorHandling.h" using namespace clang; @@ -1089,9 +1090,7 @@ static void ReplaceUsesOfNonProtoTypeWithRealFunction(llvm::GlobalValue *Old, CI->replaceAllUsesWith(NewCall); // Copy any custom metadata attached with CI. - llvm::MetadataContext &TheMetadata = CI->getContext().getMetadata(); - TheMetadata.copyMD(CI, NewCall); - + CI->getContext().getMetadata().copyMD(CI, NewCall); CI->eraseFromParent(); } } |