diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/Target.cpp | 1 | ||||
-rw-r--r-- | lib/VMCore/IRBuilder.cpp | 15 |
2 files changed, 16 insertions, 0 deletions
diff --git a/lib/Target/Target.cpp b/lib/Target/Target.cpp index cc6be9f..cddf49e 100644 --- a/lib/Target/Target.cpp +++ b/lib/Target/Target.cpp @@ -15,6 +15,7 @@ #include "llvm-c/Target.h" #include "llvm/PassManager.h" #include "llvm/Target/TargetData.h" +#include "llvm/LLVMContext.h" #include <cstring> using namespace llvm; diff --git a/lib/VMCore/IRBuilder.cpp b/lib/VMCore/IRBuilder.cpp index 850812c..99803f1 100644 --- a/lib/VMCore/IRBuilder.cpp +++ b/lib/VMCore/IRBuilder.cpp @@ -14,6 +14,8 @@ #include "llvm/Support/IRBuilder.h" #include "llvm/GlobalVariable.h" +#include "llvm/Metadata.h" +#include "llvm/LLVMContext.h" using namespace llvm; /// CreateGlobalString - Make a new global variable with an initializer that @@ -29,3 +31,16 @@ Value *IRBuilderBase::CreateGlobalString(const char *Str, const Twine &Name) { GV->setName(Name); return GV; } + +/// SetCurrentDebugLocation - Set location information used by debugging +/// information. +void IRBuilderBase::SetCurrentDebugLocation(MDNode *L) { + if (DbgMDKind == 0) + DbgMDKind = Context.getMetadata().getMDKindID("dbg"); + CurDbgLocation = L; +} + +void IRBuilderBase::SetInstDebugLocation(Instruction *I) const { + if (CurDbgLocation) + Context.getMetadata().addMD(DbgMDKind, CurDbgLocation, I); +} |