summaryrefslogtreecommitdiffstats
path: root/llvm/lib/IR/DebugLoc.cpp
diff options
context:
space:
mode:
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>2015-01-14 22:27:36 +0000
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>2015-01-14 22:27:36 +0000
commit9885469922266d43622af58871253fadfef42d48 (patch)
treefc06d29b0e8d1b751e25e109086ba0fcfc1ef842 /llvm/lib/IR/DebugLoc.cpp
parent96a319588a752c0254f8b214c2454a95855bcac4 (diff)
downloadbcm5719-llvm-9885469922266d43622af58871253fadfef42d48.tar.gz
bcm5719-llvm-9885469922266d43622af58871253fadfef42d48.zip
IR: Move MDLocation into place
This commit moves `MDLocation`, finishing off PR21433. There's an accompanying clang commit for frontend testcases. I'll attach the testcase upgrade script I used to PR21433 to help out-of-tree frontends/backends. This changes the schema for `DebugLoc` and `DILocation` from: !{i32 3, i32 7, !7, !8} to: !MDLocation(line: 3, column: 7, scope: !7, inlinedAt: !8) Note that empty fields (line/column: 0 and inlinedAt: null) don't get printed by the assembly writer. llvm-svn: 226048
Diffstat (limited to 'llvm/lib/IR/DebugLoc.cpp')
-rw-r--r--llvm/lib/IR/DebugLoc.cpp8
1 files changed, 2 insertions, 6 deletions
diff --git a/llvm/lib/IR/DebugLoc.cpp b/llvm/lib/IR/DebugLoc.cpp
index 88f2dbc5410..075f295cfdc 100644
--- a/llvm/lib/IR/DebugLoc.cpp
+++ b/llvm/lib/IR/DebugLoc.cpp
@@ -58,12 +58,8 @@ DebugLoc DebugLoc::get(unsigned Line, unsigned Col,
if (Col > 255) Col = 0;
if (Line >= (1 << 24)) Line = 0;
- LLVMContext &Context = Scope->getContext();
- Type *Int32 = Type::getInt32Ty(Context);
- Metadata *Elts[] = {ConstantAsMetadata::get(ConstantInt::get(Int32, Line)),
- ConstantAsMetadata::get(ConstantInt::get(Int32, Col)),
- Scope, InlinedAt};
- return getFromDILocation(MDNode::get(Context, Elts));
+ return getFromDILocation(
+ MDLocation::get(Scope->getContext(), Line, Col, Scope, InlinedAt));
}
/// getAsMDNode - This method converts the compressed DebugLoc node into a
OpenPOWER on IntegriCloud