From 9885469922266d43622af58871253fadfef42d48 Mon Sep 17 00:00:00 2001 From: "Duncan P. N. Exon Smith" Date: Wed, 14 Jan 2015 22:27:36 +0000 Subject: 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 --- llvm/lib/IR/DebugLoc.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'llvm/lib/IR/DebugLoc.cpp') 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 -- cgit v1.2.3