File tree 4 files changed +12
-31
lines changed
4 files changed +12
-31
lines changed Original file line number Diff line number Diff line change @@ -924,13 +924,6 @@ DwarfDebug::getOrCreateDwarfCompileUnit(const DICompileUnit *DIUnit) {
924
924
NewCU.setSection (Asm->getObjFileLowering ().getDwarfInfoSection ());
925
925
}
926
926
927
- // Create DIEs for function declarations used for call site debug info.
928
- // Note: Declaration subprograms imported by LTO are not added to the unit's
929
- // list of retained types, so their DIEs are not constructed here.
930
- for (auto Scope : DIUnit->getRetainedTypes ())
931
- if (auto *SP = dyn_cast_or_null<DISubprogram>(Scope))
932
- NewCU.getOrCreateSubprogramDIE (SP);
933
-
934
927
CUMap.insert ({DIUnit, &NewCU});
935
928
CUDieMap.insert ({&NewCU.getUnitDie (), &NewCU});
936
929
return NewCU;
Original file line number Diff line number Diff line change @@ -159,7 +159,7 @@ body: |
159
159
...
160
160
161
161
# CHECK: DW_TAG_GNU_call_site
162
- # CHECK-NEXT: DW_AT_abstract_origin (0x0000002a "call_int")
162
+ # CHECK-NEXT: DW_AT_abstract_origin ({{.*}} "call_int")
163
163
#
164
164
# CHECK: DW_TAG_GNU_call_site_parameter
165
165
# CHECK-NEXT: DW_AT_location (DW_OP_reg0 W0)
@@ -205,7 +205,7 @@ body: |
205
205
...
206
206
207
207
# CHECK: DW_TAG_GNU_call_site
208
- # CHECK-NEXT: DW_AT_abstract_origin (0x0000003e "call_long")
208
+ # CHECK-NEXT: DW_AT_abstract_origin ({{.*}} "call_long")
209
209
#
210
210
# CHECK: DW_TAG_GNU_call_site_parameter
211
211
# CHECK-NEXT: DW_AT_location (DW_OP_reg0 W0)
@@ -265,7 +265,7 @@ body: |
265
265
...
266
266
267
267
# CHECK: DW_TAG_GNU_call_site
268
- # CHECK-NEXT: DW_AT_abstract_origin (0x00000052 "call_int_int")
268
+ # CHECK-NEXT: DW_AT_abstract_origin ({{.*}} "call_int_int")
269
269
#
270
270
# CHECK: DW_TAG_GNU_call_site_parameter
271
271
# FIXME: The DW_AT_location attribute should actually refer to W0! See PR44118.
Original file line number Diff line number Diff line change 39
39
# CHECK-GNU-NEXT: DW_AT_location (DW_OP_reg8 R8)
40
40
# CHECK-GNU-NEXT: DW_AT_GNU_call_site_value (DW_OP_breg14 R14+3)
41
41
42
- # CHECK-DWARF5: [[getValue_SP:.*]]: DW_TAG_subprogram
43
- # CHECK-DWARF5-NEXT: DW_AT_name ("getVal")
44
-
45
- # CHECK-DWARF5: [[foo_SP:.*]]: DW_TAG_subprogram
46
- # CHECK-DWARF5-NEXT: DW_AT_name ("foo")
47
-
48
42
# CHECK-DWARF5: DW_TAG_call_site
49
- # CHECK-DWARF5: DW_AT_call_origin ([[getValue_SP]])
50
- #
43
+ # CHECK-DWARF5: DW_AT_call_origin ([[getValue_SP:.* ]])
44
+
51
45
# CHECK-DWARF5: DW_TAG_call_site
52
- # CHECK-DWARF5: DW_AT_call_origin ([[foo_SP]])
46
+ # CHECK-DWARF5: DW_AT_call_origin ([[foo_SP:.* ]])
53
47
# CHECK-DWARF5: DW_AT_call_return_pc {{.*}}
54
48
# CHECK-DWARF5-EMPTY:
55
49
# CHECK-DWARF5: DW_TAG_call_site_parameter
71
65
# CHECK-DWARF5-NEXT: DW_AT_location (DW_OP_reg8 R8)
72
66
# CHECK-DWARF5-NEXT: DW_AT_call_value (DW_OP_breg14 R14+3)
73
67
68
+ # CHECK-DWARF5: [[getValue_SP]]: DW_TAG_subprogram
69
+ # CHECK-DWARF5-NEXT: DW_AT_name ("getVal")
70
+
71
+ # CHECK-DWARF5: [[foo_SP]]: DW_TAG_subprogram
72
+ # CHECK-DWARF5-NEXT: DW_AT_name ("foo")
73
+
74
74
--- |
75
75
; ModuleID = 'test.c'
76
76
source_filename = "test.c"
Original file line number Diff line number Diff line change 49
49
; CHECK: DW_TAG_compile_unit
50
50
; CHECK: DW_AT_name ("a.c")
51
51
52
- ; CHECK: DW_TAG_subprogram
53
- ; CHECK: DW_AT_name ("func_from_b")
54
- ; CHECK: DW_AT_declaration (true)
55
-
56
52
; CHECK: 0x{{0+}}[[NOINLINE_FUNC_IN_A:.*]]: DW_TAG_subprogram
57
53
; CHECK: DW_AT_name ("noinline_func_in_a")
58
54
81
77
; CHECK: DW_TAG_compile_unit
82
78
; CHECK: DW_AT_name ("b.c")
83
79
84
- ; CHECK: DW_TAG_subprogram
85
- ; CHECK: DW_AT_name ("noinline_func_in_a")
86
- ; CHECK: DW_AT_declaration (true)
87
-
88
- ; CHECK: DW_TAG_subprogram
89
- ; CHECK: DW_AT_name ("always_inline_helper_in_a_that_calls_foo")
90
- ; CHECK: DW_AT_declaration (true)
91
-
92
80
; 3) Validate the cross-CU ref from "call_func_in_b_from_a" in a.c.
93
81
; CHECK: 0x{{0+}}[[FUNC_FROM_B]]: DW_TAG_subprogram
94
82
; CHECK: DW_AT_name ("func_from_b")
You can’t perform that action at this time.
0 commit comments