From d98ec5fe5bbbfbb60af2eb512440875540cef064 Mon Sep 17 00:00:00 2001 From: Devang Patel Date: Fri, 26 Mar 2010 19:08:36 +0000 Subject: [PATCH] Add a paragram describing how to extract line number information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99636 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/SourceLevelDebugging.html | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/SourceLevelDebugging.html b/docs/SourceLevelDebugging.html index 66a9a2e34ef..f92a1656a90 100644 --- a/docs/SourceLevelDebugging.html +++ b/docs/SourceLevelDebugging.html @@ -1069,6 +1069,18 @@ int main(int argc, char *argv[]) { +

llvm::Instruction provides easy access to metadata attached with an +instruction. One can extract line number information encoded in LLVM IR +using Instruction::getMetadata() and +DILocation::getLineNumber(). +

+ if (MDNode *N = I->getMetadata("dbg")) {  // Here I is an LLVM instruction
+   DILocation Loc(N);                      // DILocation is in DebugInfo.h
+   unsigned Line = Loc.getLineNumber();
+   StringRef File = Loc.getFilename();
+   StringRef Dir = Loc.getDirectory();
+ }
+