@@ -87,18 +87,18 @@ entry:
8787declare void @zar (ptr )
8888; CHECK-LABEL: define void @caller_of_callers(
8989; CHECK-SAME: ptr [[P:%.*]]) {
90- ; CHECK-NEXT: call void @weak_odr_caller_of_foo_1 (ptr [[P]])
91- ; CHECK-NEXT: call void @weak_odr_caller_of_foo_2 (ptr [[P]])
92- ; CHECK-NEXT: call void @weak_odr_caller_of_foo_3 (ptr [[P]])
93- ; CHECK-NEXT: call void @weak_odr_caller_of_bar_2 (ptr [[P]])
94- ; CHECK-NEXT: call void @weak_odr_caller_of_bar_2 (ptr [[P]])
95- ; CHECK-NEXT: call void @weak_odr_caller_of_bar_3 (ptr [[P]])
96- ; CHECK-NEXT: call void @weak_odr_caller_of_zar_2 (ptr [[P]])
97- ; CHECK-NEXT: call void @weak_odr_caller_of_zar_2 (ptr [[P]])
90+ ; CHECK-NEXT: call void @[[GLOB0:[0-9]+]] (ptr [[P]])
91+ ; CHECK-NEXT: call void @[[GLOB0]] (ptr [[P]])
92+ ; CHECK-NEXT: call void @[[GLOB0]] (ptr [[P]])
93+ ; CHECK-NEXT: call void @internal_caller_of_bar_1 (ptr [[P]])
94+ ; CHECK-NEXT: call void @internal_caller_of_bar_1 (ptr [[P]])
95+ ; CHECK-NEXT: call void @internal_caller_of_bar_1 (ptr [[P]])
96+ ; CHECK-NEXT: call void @hidden_caller_of_zar_1 (ptr [[P]])
97+ ; CHECK-NEXT: call void @hidden_caller_of_zar_1 (ptr [[P]])
9898; CHECK-NEXT: ret void
9999;
100100;
101- ; CHECK-LABEL: define weak_odr hidden void @weak_odr_caller_of_foo_3 (
101+ ; CHECK-LABEL: define private void @0 (
102102; CHECK-SAME: ptr [[P:%.*]]) {
103103; CHECK-NEXT: [[ENTRY:.*:]]
104104; CHECK-NEXT: tail call void @foo(ptr [[P]])
@@ -107,7 +107,7 @@ declare void @zar(ptr)
107107; CHECK-NEXT: ret void
108108;
109109;
110- ; CHECK-LABEL: define private void @0 (
110+ ; CHECK-LABEL: define internal void @internal_caller_of_bar_1 (
111111; CHECK-SAME: ptr [[P:%.*]]) {
112112; CHECK-NEXT: [[ENTRY:.*:]]
113113; CHECK-NEXT: tail call void @bar(ptr [[P]])
@@ -116,7 +116,7 @@ declare void @zar(ptr)
116116; CHECK-NEXT: ret void
117117;
118118;
119- ; CHECK-LABEL: define weak_odr hidden void @weak_odr_caller_of_zar_2 (
119+ ; CHECK-LABEL: define hidden void @hidden_caller_of_zar_1 (
120120; CHECK-SAME: ptr [[P:%.*]]) {
121121; CHECK-NEXT: [[ENTRY:.*:]]
122122; CHECK-NEXT: tail call void @zar(ptr [[P]])
@@ -127,30 +127,36 @@ declare void @zar(ptr)
127127;
128128; CHECK-LABEL: define weak_odr hidden void @weak_odr_caller_of_foo_2(
129129; CHECK-SAME: ptr [[TMP0:%.*]]) {
130- ; CHECK-NEXT: tail call void @weak_odr_caller_of_foo_3 (ptr [[TMP0]])
130+ ; CHECK-NEXT: tail call void @[[GLOB0]] (ptr [[TMP0]])
131131; CHECK-NEXT: ret void
132132;
133133;
134134; CHECK-LABEL: define weak_odr hidden void @weak_odr_caller_of_foo_1(
135135; CHECK-SAME: ptr [[TMP0:%.*]]) {
136- ; CHECK-NEXT: tail call void @weak_odr_caller_of_foo_3 (ptr [[TMP0]])
136+ ; CHECK-NEXT: tail call void @[[GLOB0]] (ptr [[TMP0]])
137137; CHECK-NEXT: ret void
138138;
139139;
140- ; CHECK-LABEL: define weak_odr hidden void @weak_odr_caller_of_bar_3 (
140+ ; CHECK-LABEL: define weak_odr hidden void @weak_odr_caller_of_foo_3 (
141141; CHECK-SAME: ptr [[TMP0:%.*]]) {
142- ; CHECK-NEXT: tail call void @[[GLOB0:[0-9]+ ]](ptr [[TMP0]])
142+ ; CHECK-NEXT: tail call void @[[GLOB0]](ptr [[TMP0]])
143143; CHECK-NEXT: ret void
144144;
145145;
146146; CHECK-LABEL: define weak_odr hidden void @weak_odr_caller_of_bar_2(
147147; CHECK-SAME: ptr [[TMP0:%.*]]) {
148- ; CHECK-NEXT: tail call void @[[GLOB0]] (ptr [[TMP0]])
148+ ; CHECK-NEXT: tail call void @internal_caller_of_bar_1 (ptr [[TMP0]])
149149; CHECK-NEXT: ret void
150150;
151151;
152- ; CHECK-LABEL: define hidden void @hidden_caller_of_zar_1(
152+ ; CHECK-LABEL: define weak_odr hidden void @weak_odr_caller_of_bar_3(
153+ ; CHECK-SAME: ptr [[TMP0:%.*]]) {
154+ ; CHECK-NEXT: tail call void @internal_caller_of_bar_1(ptr [[TMP0]])
155+ ; CHECK-NEXT: ret void
156+ ;
157+ ;
158+ ; CHECK-LABEL: define weak_odr hidden void @weak_odr_caller_of_zar_2(
153159; CHECK-SAME: ptr [[TMP0:%.*]]) {
154- ; CHECK-NEXT: tail call void @weak_odr_caller_of_zar_2 (ptr [[TMP0]])
160+ ; CHECK-NEXT: tail call void @hidden_caller_of_zar_1 (ptr [[TMP0]])
155161; CHECK-NEXT: ret void
156162;
0 commit comments