@@ -30,8 +30,8 @@ define i32 @instruction_loc(i32 %arg1) {
30
30
}
31
31
32
32
; CHECK-DAG: #[[RAW_FILE_LOC:.+]] = loc("debug-info.ll":1:2)
33
- ; CHECK-DAG: #[[SP:.+]] = #llvm.di_subprogram<compileUnit = #{{.*}}, scope = #{{.*}}, name = "instruction_loc"
34
- ; CHECK-DAG: #[[CALLEE:.+]] = #llvm.di_subprogram<compileUnit = #{{.*}}, scope = #{{.*}}, name = "callee"
33
+ ; CHECK-DAG: #[[SP:.+]] = #llvm.di_subprogram<id = distinct[{{.*}}]<>, compileUnit = #{{.*}}, scope = #{{.*}}, name = "instruction_loc"
34
+ ; CHECK-DAG: #[[CALLEE:.+]] = #llvm.di_subprogram<id = distinct[{{.*}}]<>, compileUnit = #{{.*}}, scope = #{{.*}}, name = "callee"
35
35
; CHECK-DAG: #[[FILE_LOC]] = loc(fused<#[[SP]]>[#[[RAW_FILE_LOC]]])
36
36
; CHECK-DAG: #[[RAW_CALLEE_LOC:.+]] = loc("debug-info.ll":7:4)
37
37
; CHECK-DAG: #[[CALLEE_LOC:.+]] = loc(fused<#[[CALLEE]]>[#[[RAW_CALLEE_LOC]]])
@@ -63,7 +63,7 @@ define i32 @lexical_block(i32 %arg1) {
63
63
ret i32 %2
64
64
}
65
65
; CHECK: #[[FILE:.+]] = #llvm.di_file<"debug-info.ll" in "/">
66
- ; CHECK: #[[SP:.+]] = #llvm.di_subprogram<compileUnit =
66
+ ; CHECK: #[[SP:.+]] = #llvm.di_subprogram<id = distinct[{{.*}}]<>, compileUnit =
67
67
; CHECK: #[[LB0:.+]] = #llvm.di_lexical_block<scope = #[[SP]]>
68
68
; CHECK: #[[LB1:.+]] = #llvm.di_lexical_block<scope = #[[SP]], file = #[[FILE]], line = 2, column = 2>
69
69
; CHECK: #[[LOC0]] = loc(fused<#[[LB0]]>[{{.*}}])
@@ -93,7 +93,7 @@ define i32 @lexical_block_file(i32 %arg1) {
93
93
ret i32 %2
94
94
}
95
95
; CHECK: #[[FILE:.+]] = #llvm.di_file<"debug-info.ll" in "/">
96
- ; CHECK: #[[SP:.+]] = #llvm.di_subprogram<compileUnit =
96
+ ; CHECK: #[[SP:.+]] = #llvm.di_subprogram<id = distinct[{{.*}}]<>, compileUnit =
97
97
; CHECK: #[[LB0:.+]] = #llvm.di_lexical_block_file<scope = #[[SP]], discriminator = 0>
98
98
; CHECK: #[[LB1:.+]] = #llvm.di_lexical_block_file<scope = #[[SP]], file = #[[FILE]], discriminator = 0>
99
99
; CHECK: #[[LOC0]] = loc(fused<#[[LB0]]>[
@@ -200,7 +200,7 @@ define void @composite_type() !dbg !3 {
200
200
; CHECK-DAG: #[[CU:.+]] = #llvm.di_compile_unit<id = distinct[0]<>, sourceLanguage = DW_LANG_C, file = #[[FILE]], isOptimized = false, emissionKind = None>
201
201
; Verify an empty subroutine types list is supported.
202
202
; CHECK-DAG: #[[SP_TYPE:.+]] = #llvm.di_subroutine_type<callingConvention = DW_CC_normal>
203
- ; CHECK-DAG: #[[SP:.+]] = #llvm.di_subprogram<compileUnit = #[[CU]], scope = #[[FILE]], name = "subprogram", linkageName = "subprogram", file = #[[FILE]], line = 42, scopeLine = 42, subprogramFlags = Definition, type = #[[SP_TYPE]]>
203
+ ; CHECK-DAG: #[[SP:.+]] = #llvm.di_subprogram<id = distinct[{{.*}}]<>, compileUnit = #[[CU]], scope = #[[FILE]], name = "subprogram", linkageName = "subprogram", file = #[[FILE]], line = 42, scopeLine = 42, subprogramFlags = Definition, type = #[[SP_TYPE]]>
204
204
205
205
define void @subprogram () !dbg !3 {
206
206
ret void
@@ -224,7 +224,7 @@ define void @func_loc() !dbg !3 {
224
224
}
225
225
; CHECK-DAG: #[[NAME_LOC:.+]] = loc("func_loc")
226
226
; CHECK-DAG: #[[FILE_LOC:.+]] = loc("debug-info.ll":42:0)
227
- ; CHECK-DAG: #[[SP:.+]] = #llvm.di_subprogram<compileUnit = #{{.*}}, scope = #{{.*}}, name = "func_loc", file = #{{.*}}, line = 42, subprogramFlags = Definition>
227
+ ; CHECK-DAG: #[[SP:.+]] = #llvm.di_subprogram<id = distinct[{{.*}}]<>, compileUnit = #{{.*}}, scope = #{{.*}}, name = "func_loc", file = #{{.*}}, line = 42, subprogramFlags = Definition>
228
228
229
229
; CHECK: loc(fused<#[[SP]]>[#[[NAME_LOC]], #[[FILE_LOC]]]
230
230
@@ -300,7 +300,7 @@ define void @class_method() {
300
300
; CHECK: #[[COMP:.+]] = #llvm.di_composite_type<tag = DW_TAG_class_type, name = "class_name", file = #{{.*}}, line = 42, flags = "TypePassByReference|NonTrivial">
301
301
; CHECK: #[[COMP_PTR:.+]] = #llvm.di_derived_type<tag = DW_TAG_pointer_type, baseType = #[[COMP]], sizeInBits = 64>
302
302
; CHECK: #[[SP_TYPE:.+]] = #llvm.di_subroutine_type<types = #{{.*}}, #[[COMP_PTR]]>
303
- ; CHECK: #[[SP:.+]] = #llvm.di_subprogram<compileUnit = #{{.*}}, scope = #[[COMP]], name = "class_method", file = #{{.*}}, subprogramFlags = Definition, type = #[[SP_TYPE]]>
303
+ ; CHECK: #[[SP:.+]] = #llvm.di_subprogram<id = distinct[{{.*}}]<>, compileUnit = #{{.*}}, scope = #[[COMP]], name = "class_method", file = #{{.*}}, subprogramFlags = Definition, type = #[[SP_TYPE]]>
304
304
; CHECK: #[[LOC]] = loc(fused<#[[SP]]>
305
305
306
306
!llvm.dbg.cu = !{!1 }
@@ -485,7 +485,7 @@ declare void @llvm.dbg.value(metadata, metadata, metadata)
485
485
; // -----
486
486
487
487
; CHECK-DAG: #[[NAMESPACE:.+]] = #llvm.di_namespace<name = "std", exportSymbols = false>
488
- ; CHECK-DAG: #[[SUBPROGRAM:.+]] = #llvm.di_subprogram<compileUnit = #{{.*}}, scope = #[[NAMESPACE]], name = "namespace"
488
+ ; CHECK-DAG: #[[SUBPROGRAM:.+]] = #llvm.di_subprogram<id = distinct[{{.*}}]<>, compileUnit = #{{.*}}, scope = #[[NAMESPACE]], name = "namespace"
489
489
490
490
define void @namespace (ptr %arg ) {
491
491
call void @llvm.dbg.value (metadata ptr %arg , metadata !7 , metadata !DIExpression ()), !dbg !9
@@ -506,7 +506,7 @@ declare void @llvm.dbg.value(metadata, metadata, metadata)
506
506
507
507
; // -----
508
508
509
- ; CHECK-DAG: #[[SUBPROGRAM:.+]] = #llvm.di_subprogram<compileUnit = #{{.*}}, scope = #{{.*}}, name = "noname_variable"
509
+ ; CHECK-DAG: #[[SUBPROGRAM:.+]] = #llvm.di_subprogram<id = distinct[{{.*}}]<>, compileUnit = #{{.*}}, scope = #{{.*}}, name = "noname_variable"
510
510
; CHECK-DAG: #[[LOCAL_VARIABLE:.+]] = #llvm.di_local_variable<scope = #[[SUBPROGRAM]]>
511
511
512
512
define void @noname_variable (ptr %arg ) {
@@ -527,7 +527,7 @@ declare void @llvm.dbg.value(metadata, metadata, metadata)
527
527
528
528
; // -----
529
529
530
- ; CHECK: #[[SUBPROGRAM:.*]] = #llvm.di_subprogram<compileUnit = #{{.*}}, scope = #{{.*}}, file = #{{.*}}, subprogramFlags = Definition>
530
+ ; CHECK: #[[SUBPROGRAM:.*]] = #llvm.di_subprogram<id = distinct[{{.*}}]<>, compileUnit = #{{.*}}, scope = #{{.*}}, file = #{{.*}}, subprogramFlags = Definition>
531
531
; CHECK: #[[FUNC_LOC:.*]] = loc(fused<#[[SUBPROGRAM]]>[{{.*}}])
532
532
define void @noname_subprogram (ptr %arg ) !dbg !8 {
533
533
ret void
@@ -547,7 +547,7 @@ define void @noname_subprogram(ptr %arg) !dbg !8 {
547
547
; CHECK-SAME: configMacros = "bar", includePath = "/",
548
548
; CHECK-SAME: apinotes = "/", line = 42, isDecl = true
549
549
; CHECK-SAME: >
550
- ; CHECK: #[[SUBPROGRAM:.+]] = #llvm.di_subprogram<compileUnit = #{{.*}}, scope = #[[MODULE]], name = "func_in_module"
550
+ ; CHECK: #[[SUBPROGRAM:.+]] = #llvm.di_subprogram<id = distinct[{{.*}}]<>, compileUnit = #{{.*}}, scope = #[[MODULE]], name = "func_in_module"
551
551
552
552
define void @func_in_module (ptr %arg ) !dbg !8 {
553
553
ret void
@@ -614,3 +614,16 @@ define void @distinct_cu_func1() !dbg !5 {
614
614
!4 = distinct !DISubprogram (name: "func" , linkageName: "func" , scope: !6 , file: !6 , line: 1 , scopeLine: 1 , flags: DIFlagArtificial, spFlags: DISPFlagDefinition, unit: !0 )
615
615
!5 = distinct !DISubprogram (name: "func" , linkageName: "func" , scope: !6 , file: !6 , line: 1 , scopeLine: 1 , flags: DIFlagArtificial, spFlags: DISPFlagDefinition, unit: !1 )
616
616
!6 = !DIFile (filename: "file.hpp" , directory: "/" )
617
+
618
+ ; // -----
619
+
620
+ ; CHECK-LABEL: @declaration
621
+ declare !dbg !1 void @declaration ()
622
+
623
+ ; CHECK: #di_subprogram = #llvm.di_subprogram<
624
+ ; CHECK-NOT: id = distinct
625
+
626
+ !llvm.module.flags = !{!0 }
627
+ !0 = !{i32 2 , !"Debug Info Version" , i32 3 }
628
+ !1 = !DISubprogram (name: "declaration" , scope: !2 , file: !2 , flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
629
+ !2 = !DIFile (filename: "debug-info.ll" , directory: "/" )
0 commit comments