Legalize the debug info in this testcase in anticipation of future Verifier improvements.

llvm-svn: 266017
This commit is contained in:
Adrian Prantl 2016-04-11 23:26:31 +00:00
parent b3ac75f748
commit ea7eb841a1
2 changed files with 46 additions and 27 deletions

View File

@ -1,13 +1,23 @@
!named = !{!0, !1, !2, !3, !4, !5}
define void @foo1() !dbg !0 {
ret void, !dbg !3
}
!0 = distinct !DISubprogram() ; Use this as a scope.
!1 = !DILocation(line: 3, column: 7, scope: !0)
!2 = !DILocation(line: 3, column: 7, scope: !0, inlinedAt: !1)
!3 = !DILocation(line: 3, column: 7, scope: !0, inlinedAt: !2)
!named = !{!1, !2, !3, !4, !5}
!0 = distinct !DISubprogram(file: !7, scope: !7, line: 1, name: "foo", type: !9)
!1 = !DILocation(line: 3, column: 7, scope: !10)
!2 = !DILocation(line: 3, column: 7, scope: !10, inlinedAt: !1)
!3 = !DILocation(line: 3, column: 7, scope: !10, inlinedAt: !2)
; Test distinct nodes.
!4 = distinct !DILocation(line: 3, column: 7, scope: !0)
!5 = distinct !DILocation(line: 3, column: 7, scope: !0, inlinedAt: !4)
!4 = distinct !DILocation(line: 3, column: 7, scope: !10)
!5 = distinct !DILocation(line: 3, column: 7, scope: !10, inlinedAt: !4)
!llvm.dbg.cu = !{!6}
!6 = distinct !DICompileUnit(language: DW_LANG_C89, file: !7, subprograms: !{!0})
!7 = !DIFile(filename: "source.c", directory: "/dir")
!llvm.module.flags = !{!8}
!8 = !{i32 1, !"Debug Info Version", i32 3}
!9 = !DISubroutineType(types: !{})
!10 = distinct !DILexicalBlock(line: 3, column: 3, file: !7, scope: !0)

View File

@ -2,29 +2,38 @@
; Test that DILocations are remapped properly.
; CHECK: !named = !{!0, !1, !2, !3, !4, !5, !6, !7, !8, !9, !10, !11}
!named = !{!0, !1, !2, !3, !4, !5}
define void @foo() !dbg !0 {
ret void, !dbg !3
}
; CHECK: !0 = distinct !DISubprogram(
; CHECK-NEXT: !1 = !DILocation(line: 3, column: 7, scope: !0)
; CHECK-NEXT: !2 = !DILocation(line: 3, column: 7, scope: !0, inlinedAt: !1)
; CHECK-NEXT: !3 = !DILocation(line: 3, column: 7, scope: !0, inlinedAt: !2)
; CHECK-NEXT: !4 = distinct !DILocation(line: 3, column: 7, scope: !0)
; CHECK-NEXT: !5 = distinct !DILocation(line: 3, column: 7, scope: !0, inlinedAt: !4)
; CHECK-NEXT: !6 = distinct !DISubprogram(
; CHECK-NEXT: !7 = !DILocation(line: 3, column: 7, scope: !6)
; CHECK-NEXT: !8 = !DILocation(line: 3, column: 7, scope: !6, inlinedAt: !7)
; CHECK-NEXT: !9 = !DILocation(line: 3, column: 7, scope: !6, inlinedAt: !8)
; CHECK-NEXT: !10 = distinct !DILocation(line: 3, column: 7, scope: !6)
; CHECK-NEXT: !11 = distinct !DILocation(line: 3, column: 7, scope: !6, inlinedAt: !10)
!0 = distinct !DISubprogram() ; Use this as a scope.
!1 = !DILocation(line: 3, column: 7, scope: !0)
!2 = !DILocation(line: 3, column: 7, scope: !0, inlinedAt: !1)
!3 = !DILocation(line: 3, column: 7, scope: !0, inlinedAt: !2)
; CHECK: !named = !{!0, !6, !7, !8, !9, !10, !13, !14, !15, !16}
!named = !{!1, !2, !3, !4, !5}
; CHECK: !0 = !DILocation(line: 3, column: 7, scope: !1)
; CHECK: !3 = distinct !DISubprogram(
; CHECK: !6 = !DILocation(line: 3, column: 7, scope: !1, inlinedAt: !0)
; CHECK: !7 = !DILocation(line: 3, column: 7, scope: !1, inlinedAt: !6)
; CHECK: !8 = distinct !DILocation(line: 3, column: 7, scope: !1)
; CHECK: !9 = distinct !DILocation(line: 3, column: 7, scope: !1, inlinedAt: !8)
; CHECK: !10 = !DILocation(line: 3, column: 7, scope: !11)
; CHECK: !12 = distinct !DISubprogram(
; CHECK: !13 = !DILocation(line: 3, column: 7, scope: !11, inlinedAt: !10)
; CHECK: !14 = !DILocation(line: 3, column: 7, scope: !11, inlinedAt: !13)
; CHECK: !15 = distinct !DILocation(line: 3, column: 7, scope: !11)
; CHECK: !16 = distinct !DILocation(line: 3, column: 7, scope: !11, inlinedAt: !15)
!0 = distinct !DISubprogram(file: !7, scope: !7, line: 1, name: "foo", type: !9)
!1 = !DILocation(line: 3, column: 7, scope: !10)
!2 = !DILocation(line: 3, column: 7, scope: !10, inlinedAt: !1)
!3 = !DILocation(line: 3, column: 7, scope: !10, inlinedAt: !2)
; Test distinct nodes.
!4 = distinct !DILocation(line: 3, column: 7, scope: !0)
!5 = distinct !DILocation(line: 3, column: 7, scope: !0, inlinedAt: !4)
!4 = distinct !DILocation(line: 3, column: 7, scope: !10)
!5 = distinct !DILocation(line: 3, column: 7, scope: !10, inlinedAt: !4)
!llvm.dbg.cu = !{!6}
!6 = distinct !DICompileUnit(language: DW_LANG_C89, file: !7, subprograms: !{!0})
!7 = !DIFile(filename: "source.c", directory: "/dir")
!llvm.module.flags = !{!8}
!8 = !{i32 1, !"Debug Info Version", i32 3}
!9 = !DISubroutineType(types: !{})
!10 = distinct !DILexicalBlock(line: 3, column: 3, file: !7, scope: !0)