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
diff --git a/llvm/test/DebugInfo/sugared-constants.ll b/llvm/test/DebugInfo/sugared-constants.ll
index ebe165b..9e4f374 100644
--- a/llvm/test/DebugInfo/sugared-constants.ll
+++ b/llvm/test/DebugInfo/sugared-constants.ll
@@ -71,12 +71,12 @@
 !18 = !{i32 1, !"Debug Info Version", i32 2}
 !19 = !{!"clang version 3.5.0 "}
 !20 = !{i32 42}
-!21 = !{i32 5, i32 0, !4, null}
-!22 = !{i32 6, i32 0, !4, null}
+!21 = !MDLocation(line: 5, scope: !4)
+!22 = !MDLocation(line: 6, scope: !4)
 !23 = !{i32 117}
-!24 = !{i32 7, i32 0, !4, null}
-!25 = !{i32 8, i32 0, !4, null}
+!24 = !MDLocation(line: 7, scope: !4)
+!25 = !MDLocation(line: 8, scope: !4)
 !26 = !{i16 7}
-!27 = !{i32 9, i32 0, !4, null}
-!28 = !{i32 10, i32 0, !4, null}
-!29 = !{i32 11, i32 0, !4, null}
+!27 = !MDLocation(line: 9, scope: !4)
+!28 = !MDLocation(line: 10, scope: !4)
+!29 = !MDLocation(line: 11, scope: !4)