@@ -88,17 +88,17 @@ declare void @zar(ptr)
8888; CHECK-LABEL: define void @caller_of_callers(
8989; CHECK-SAME: ptr [[P:%.*]]) {
9090; CHECK-NEXT: call void @linkonce_odr_caller_of_foo_1(ptr [[P]])
91- ; CHECK-NEXT: call void @linkonce_odr_caller_of_foo_1(ptr [[P]])
92- ; CHECK-NEXT: call void @linkonce_odr_caller_of_foo_1(ptr [[P]])
93- ; CHECK-NEXT: call void @linkonce_odr_caller_of_bar_2(ptr [[P]])
91+ ; CHECK-NEXT: call void @linkonce_odr_caller_of_foo_2(ptr [[P]])
92+ ; CHECK-NEXT: call void @linkonce_odr_caller_of_foo_3(ptr [[P]])
9493; CHECK-NEXT: call void @linkonce_odr_caller_of_bar_2(ptr [[P]])
9594; CHECK-NEXT: call void @linkonce_odr_caller_of_bar_2(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]])
95+ ; CHECK-NEXT: call void @linkonce_odr_caller_of_bar_3(ptr [[P]])
96+ ; CHECK-NEXT: call void @linkonce_odr_caller_of_zar_2(ptr [[P]])
97+ ; CHECK-NEXT: call void @linkonce_odr_caller_of_zar_2(ptr [[P]])
9898; CHECK-NEXT: ret void
9999;
100100;
101- ; CHECK-LABEL: define linkonce_odr hidden void @linkonce_odr_caller_of_foo_1 (
101+ ; CHECK-LABEL: define linkonce_odr hidden void @linkonce_odr_caller_of_foo_3 (
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 linkonce_odr hidden void @linkonce_odr_caller_of_bar_2 (
110+ ; CHECK-LABEL: define private void @0 (
111111; CHECK-SAME: ptr [[P:%.*]]) {
112112; CHECK-NEXT: [[ENTRY:.*:]]
113113; CHECK-NEXT: tail call void @bar(ptr [[P]])
@@ -116,11 +116,41 @@ declare void @zar(ptr)
116116; CHECK-NEXT: ret void
117117;
118118;
119- ; CHECK-LABEL: define hidden void @hidden_caller_of_zar_1 (
119+ ; CHECK-LABEL: define linkonce_odr hidden void @linkonce_odr_caller_of_zar_2 (
120120; CHECK-SAME: ptr [[P:%.*]]) {
121121; CHECK-NEXT: [[ENTRY:.*:]]
122122; CHECK-NEXT: tail call void @zar(ptr [[P]])
123123; CHECK-NEXT: tail call void @zar(ptr [[P]])
124124; CHECK-NEXT: tail call void @zar(ptr [[P]])
125125; CHECK-NEXT: ret void
126126;
127+ ;
128+ ; CHECK-LABEL: define linkonce_odr hidden void @linkonce_odr_caller_of_foo_2(
129+ ; CHECK-SAME: ptr [[TMP0:%.*]]) {
130+ ; CHECK-NEXT: tail call void @linkonce_odr_caller_of_foo_3(ptr [[TMP0]])
131+ ; CHECK-NEXT: ret void
132+ ;
133+ ;
134+ ; CHECK-LABEL: define linkonce_odr hidden void @linkonce_odr_caller_of_foo_1(
135+ ; CHECK-SAME: ptr [[TMP0:%.*]]) {
136+ ; CHECK-NEXT: tail call void @linkonce_odr_caller_of_foo_3(ptr [[TMP0]])
137+ ; CHECK-NEXT: ret void
138+ ;
139+ ;
140+ ; CHECK-LABEL: define linkonce_odr hidden void @linkonce_odr_caller_of_bar_3(
141+ ; CHECK-SAME: ptr [[TMP0:%.*]]) {
142+ ; CHECK-NEXT: tail call void @[[GLOB0:[0-9]+]](ptr [[TMP0]])
143+ ; CHECK-NEXT: ret void
144+ ;
145+ ;
146+ ; CHECK-LABEL: define linkonce_odr hidden void @linkonce_odr_caller_of_bar_2(
147+ ; CHECK-SAME: ptr [[TMP0:%.*]]) {
148+ ; CHECK-NEXT: tail call void @[[GLOB0]](ptr [[TMP0]])
149+ ; CHECK-NEXT: ret void
150+ ;
151+ ;
152+ ; CHECK-LABEL: define hidden void @hidden_caller_of_zar_1(
153+ ; CHECK-SAME: ptr [[TMP0:%.*]]) {
154+ ; CHECK-NEXT: tail call void @linkonce_odr_caller_of_zar_2(ptr [[TMP0]])
155+ ; CHECK-NEXT: ret void
156+ ;
0 commit comments