1; RUN: llvm-link %s %S/Inputs/mdlocation.ll -o - -S | FileCheck %s 2 3; Test that MDLocations are remapped properly. 4 5; CHECK: !named = !{!0, !1, !2, !3, !4, !5, !6, !7, !8, !9, !0, !1, !2, !3, !10, !11, !12, !13, !14, !15} 6!named = !{!0, !1, !2, !3, !4, !5, !6, !7, !8, !9} 7 8; CHECK: !0 = !MDSubprogram( 9; CHECK-NEXT: !1 = !MDLocation(line: 3, column: 7, scope: !0) 10; CHECK-NEXT: !2 = !MDLocation(line: 3, column: 7, scope: !0, inlinedAt: !1) 11; CHECK-NEXT: !3 = !MDLocation(line: 3, column: 7, scope: !0, inlinedAt: !2) 12; CHECK-NEXT: !4 = distinct !MDSubprogram( 13; CHECK-NEXT: !5 = !MDLocation(line: 3, column: 7, scope: !4) 14; CHECK-NEXT: !6 = !MDLocation(line: 3, column: 7, scope: !4, inlinedAt: !5) 15; CHECK-NEXT: !7 = !MDLocation(line: 3, column: 7, scope: !4, inlinedAt: !6) 16; CHECK-NEXT: !8 = distinct !MDLocation(line: 3, column: 7, scope: !0) 17; CHECK-NEXT: !9 = distinct !MDLocation(line: 3, column: 7, scope: !0, inlinedAt: !8) 18; CHECK-NEXT: !10 = distinct !MDSubprogram( 19; CHECK-NEXT: !11 = !MDLocation(line: 3, column: 7, scope: !10) 20; CHECK-NEXT: !12 = !MDLocation(line: 3, column: 7, scope: !10, inlinedAt: !11) 21; CHECK-NEXT: !13 = !MDLocation(line: 3, column: 7, scope: !10, inlinedAt: !12) 22; CHECK-NEXT: !14 = distinct !MDLocation(line: 3, column: 7, scope: !0) 23; CHECK-NEXT: !15 = distinct !MDLocation(line: 3, column: 7, scope: !0, inlinedAt: !14) 24!0 = !MDSubprogram() ; Use this as a scope. 25!1 = !MDLocation(line: 3, column: 7, scope: !0) 26!2 = !MDLocation(line: 3, column: 7, scope: !0, inlinedAt: !1) 27!3 = !MDLocation(line: 3, column: 7, scope: !0, inlinedAt: !2) 28!4 = distinct !MDSubprogram() ; Test actual remapping. 29!5 = !MDLocation(line: 3, column: 7, scope: !4) 30!6 = !MDLocation(line: 3, column: 7, scope: !4, inlinedAt: !5) 31!7 = !MDLocation(line: 3, column: 7, scope: !4, inlinedAt: !6) 32; Test distinct nodes. 33!8 = distinct !MDLocation(line: 3, column: 7, scope: !0) 34!9 = distinct !MDLocation(line: 3, column: 7, scope: !0, inlinedAt: !8) 35