@@ -54,42 +54,23 @@ define amdgpu_kernel void @kernel(ptr addrspace(1) %p.coerce, i32 %x) {
5454; GFX906-NEXT: [[ENTRY:.*:]]
5555; GFX906-NEXT: [[TMP0:%.*]] = ptrtoint ptr addrspace(1) [[P_COERCE]] to i64
5656; GFX906-NEXT: [[TMP1:%.*]] = inttoptr i64 [[TMP0]] to ptr
57- ; GFX906-NEXT: br label %[[IF_GFX1201_OR_GFX12_INSTS1:.*]]
58- ; GFX906: [[IF_GFX1201_OR_GFX12_INSTS1]]:
59- ; GFX906-NEXT: br label %[[IF_NOT_GFX906:.*]]
60- ; GFX906: [[IF_GFX1201_OR_GFX12_INSTS:.*:]]
61- ; GFX906-NEXT: call void @llvm.amdgcn.s.sleep.var(i32 [[X]])
62- ; GFX906-NEXT: br label %[[IF_NOT_GFX906]]
63- ; GFX906: [[IF_NOT_GFX906]]:
64- ; GFX906-NEXT: br label %[[IF_GFX1010_OR_GFX1102:.*]]
65- ; GFX906: [[IF_NOT_GFX907:.*:]]
66- ; GFX906-NEXT: call void @llvm.amdgcn.s.wait.event.export.ready()
67- ; GFX906-NEXT: br label %[[IF_END6:.*]]
68- ; GFX906: [[IF_GFX1010_OR_GFX1102]]:
57+ ; GFX906-NEXT: br label %[[IF_GFX1201_OR_GFX12_INSTS:.*]]
58+ ; GFX906: [[IF_GFX1201_OR_GFX12_INSTS]]:
59+ ; GFX906-NEXT: br label %[[IF_NOT_GFX907:.*]]
60+ ; GFX906: [[IF_NOT_GFX907]]:
61+ ; GFX906-NEXT: br label %[[IF_GFX1010_OR_GFX1101:.*]]
62+ ; GFX906: [[IF_GFX1010_OR_GFX1101]]:
6963; GFX906-NEXT: br label %[[LOR_NOT_GFX1010:.*]]
7064; GFX906: [[LOR_NOT_GFX1010]]:
7165; GFX906-NEXT: br label %[[FOR_COND:.*]]
72- ; GFX906: [[IF_GFX1010_OR_GFX1101:.*:]]
73- ; GFX906-NEXT: call void @llvm.amdgcn.s.ttracedata.imm(i16 1)
74- ; GFX906-NEXT: br label %[[IF_END6]]
75- ; GFX906: [[IF_END6]]:
76- ; GFX906-NEXT: call void @llvm.assume(i1 true)
77- ; GFX906-NEXT: call void @llvm.assume(i1 true)
78- ; GFX906-NEXT: br label %[[FOR_COND]]
7966; GFX906: [[FOR_COND]]:
8067; GFX906-NEXT: [[DOTPROMOTED:%.*]] = load i32, ptr [[TMP1]], align 4
8168; GFX906-NEXT: [[SUB_PEEL:%.*]] = sub nsw i32 [[DOTPROMOTED]], [[X]]
8269; GFX906-NEXT: store i32 [[SUB_PEEL]], ptr [[TMP1]], align 4
83- ; GFX906-NEXT: br label %[[IF_GFX10_INSTS1:.*]]
84- ; GFX906: [[IF_GFX11_INSTS:.*:]]
85- ; GFX906-NEXT: call void @llvm.amdgcn.s.wait.event.export.ready()
86- ; GFX906-NEXT: br label %[[IF_END11:.*]]
87- ; GFX906: [[IF_GFX10_INSTS1]]:
88- ; GFX906-NEXT: br label %[[IF_END11]]
89- ; GFX906: [[IF_GFX10_INSTS:.*:]]
90- ; GFX906-NEXT: call void @llvm.amdgcn.s.ttracedata.imm(i16 1)
91- ; GFX906-NEXT: br label %[[IF_END11]]
92- ; GFX906: [[IF_END11]]:
70+ ; GFX906-NEXT: br label %[[IF_GFX11_INSTS:.*]]
71+ ; GFX906: [[IF_GFX11_INSTS]]:
72+ ; GFX906-NEXT: br label %[[IF_GFX10_INSTS:.*]]
73+ ; GFX906: [[IF_GFX10_INSTS]]:
9374; GFX906-NEXT: call void @llvm.assume(i1 true)
9475; GFX906-NEXT: [[DOTPROMOTED9:%.*]] = load i32, ptr [[TMP1]], align 4
9576; GFX906-NEXT: [[SUB13_PEEL:%.*]] = sub nsw i32 [[DOTPROMOTED9]], [[X]]
@@ -101,41 +82,28 @@ define amdgpu_kernel void @kernel(ptr addrspace(1) %p.coerce, i32 %x) {
10182; GFX1010-NEXT: [[ENTRY:.*:]]
10283; GFX1010-NEXT: [[TMP0:%.*]] = ptrtoint ptr addrspace(1) [[P_COERCE]] to i64
10384; GFX1010-NEXT: [[TMP1:%.*]] = inttoptr i64 [[TMP0]] to ptr
104- ; GFX1010-NEXT: br label %[[IF_GFX1201_OR_GFX12_INSTS1:.*]]
105- ; GFX1010: [[IF_GFX1201_OR_GFX12_INSTS1]]:
106- ; GFX1010-NEXT: br label %[[IF_END:.*]]
107- ; GFX1010: [[IF_GFX1201_OR_GFX12_INSTS:.*:]]
108- ; GFX1010-NEXT: call void @llvm.amdgcn.s.sleep.var(i32 [[X]])
109- ; GFX1010-NEXT: br label %[[IF_END]]
110- ; GFX1010: [[IF_END]]:
111- ; GFX1010-NEXT: br label %[[IF_NOT_GFX907:.*]]
112- ; GFX1010: [[IF_NOT_GFX907]]:
85+ ; GFX1010-NEXT: br label %[[IF_GFX1201_OR_GFX12_INSTS:.*]]
86+ ; GFX1010: [[IF_GFX1201_OR_GFX12_INSTS]]:
87+ ; GFX1010-NEXT: br label %[[IF_NOT_GFX906:.*]]
88+ ; GFX1010: [[IF_NOT_GFX906]]:
89+ ; GFX1010-NEXT: br label %[[LOR_NOT_GFX1010:.*]]
90+ ; GFX1010: [[LOR_NOT_GFX1010]]:
11391; GFX1010-NEXT: call void @llvm.amdgcn.s.wait.event.export.ready()
11492; GFX1010-NEXT: br label %[[IF_END6:.*]]
115- ; GFX1010: [[IF_NOT_GFX906:.*:]]
116- ; GFX1010-NEXT: br label %[[IF_GFX1010_OR_GFX1101:.*]]
117- ; GFX1010: [[LOR_NOT_GFX1010:.*:]]
118- ; GFX1010-NEXT: br label %[[FOR_COND:.*]]
119- ; GFX1010: [[IF_GFX1010_OR_GFX1101]]:
120- ; GFX1010-NEXT: call void @llvm.amdgcn.s.ttracedata.imm(i16 1)
121- ; GFX1010-NEXT: br label %[[IF_END6]]
12293; GFX1010: [[IF_END6]]:
12394; GFX1010-NEXT: call void @llvm.assume(i1 true)
12495; GFX1010-NEXT: call void @llvm.assume(i1 true)
125- ; GFX1010-NEXT: br label %[[FOR_COND]]
96+ ; GFX1010-NEXT: br label %[[FOR_COND:.* ]]
12697; GFX1010: [[FOR_COND]]:
12798; GFX1010-NEXT: [[DOTPROMOTED:%.*]] = load i32, ptr [[TMP1]], align 4
12899; GFX1010-NEXT: [[SUB_PEEL:%.*]] = sub nsw i32 [[DOTPROMOTED]], [[X]]
129100; GFX1010-NEXT: store i32 [[SUB_PEEL]], ptr [[TMP1]], align 4
130- ; GFX1010-NEXT: br label %[[IF_ELSE8:.*]]
131- ; GFX1010: [[IF_GFX11_INSTS:.*:]]
132- ; GFX1010-NEXT: call void @llvm.amdgcn.s.wait.event.export.ready()
133- ; GFX1010-NEXT: br label %[[IF_END11:.*]]
134- ; GFX1010: [[IF_ELSE8]]:
101+ ; GFX1010-NEXT: br label %[[IF_GFX11_INSTS:.*]]
102+ ; GFX1010: [[IF_GFX11_INSTS]]:
135103; GFX1010-NEXT: br label %[[IF_GFX10_INSTS:.*]]
136104; GFX1010: [[IF_GFX10_INSTS]]:
137105; GFX1010-NEXT: call void @llvm.amdgcn.s.ttracedata.imm(i16 1)
138- ; GFX1010-NEXT: br label %[[IF_END11]]
106+ ; GFX1010-NEXT: br label %[[IF_END11:.* ]]
139107; GFX1010: [[IF_END11]]:
140108; GFX1010-NEXT: call void @llvm.assume(i1 true)
141109; GFX1010-NEXT: [[DOTPROMOTED9:%.*]] = load i32, ptr [[TMP1]], align 4
@@ -148,25 +116,15 @@ define amdgpu_kernel void @kernel(ptr addrspace(1) %p.coerce, i32 %x) {
148116; GFX1101-NEXT: [[ENTRY:.*:]]
149117; GFX1101-NEXT: [[TMP0:%.*]] = ptrtoint ptr addrspace(1) [[P_COERCE]] to i64
150118; GFX1101-NEXT: [[TMP1:%.*]] = inttoptr i64 [[TMP0]] to ptr
151- ; GFX1101-NEXT: br label %[[IF_GFX1201_OR_GFX12_INSTS1 :.*]]
152- ; GFX1101: [[IF_GFX1201_OR_GFX12_INSTS1 ]]:
119+ ; GFX1101-NEXT: br label %[[IF_GFX1201_OR_GFX12_INSTS :.*]]
120+ ; GFX1101: [[IF_GFX1201_OR_GFX12_INSTS ]]:
153121; GFX1101-NEXT: br label %[[IF_END:.*]]
154- ; GFX1101: [[IF_GFX1201_OR_GFX12_INSTS:.*:]]
155- ; GFX1101-NEXT: call void @llvm.amdgcn.s.sleep.var(i32 [[X]])
156- ; GFX1101-NEXT: br label %[[IF_END]]
157122; GFX1101: [[IF_END]]:
158123; GFX1101-NEXT: br label %[[IF_NOT_GFX907:.*]]
159124; GFX1101: [[IF_NOT_GFX907]]:
160125; GFX1101-NEXT: call void @llvm.amdgcn.s.wait.event.export.ready()
161- ; GFX1101-NEXT: br label %[[IF_END6:.*]]
162- ; GFX1101: [[IF_NOT_GFX906:.*:]]
163- ; GFX1101-NEXT: br label %[[LOR_NOT_GFX1010:.*]]
164- ; GFX1101: [[LOR_NOT_GFX1010]]:
165- ; GFX1101-NEXT: br label %[[IF_GFX1010_OR_GFX1101:.*]]
166- ; GFX1101: [[IF_GFX1010_OR_GFX1101]]:
167- ; GFX1101-NEXT: call void @llvm.amdgcn.s.ttracedata.imm(i16 1)
168- ; GFX1101-NEXT: br label %[[IF_END6]]
169- ; GFX1101: [[IF_END6]]:
126+ ; GFX1101-NEXT: br label %[[IF_NOT_GFX906:.*]]
127+ ; GFX1101: [[IF_NOT_GFX906]]:
170128; GFX1101-NEXT: call void @llvm.assume(i1 true)
171129; GFX1101-NEXT: call void @llvm.assume(i1 true)
172130; GFX1101-NEXT: br label %[[FOR_COND:.*]]
@@ -177,13 +135,8 @@ define amdgpu_kernel void @kernel(ptr addrspace(1) %p.coerce, i32 %x) {
177135; GFX1101-NEXT: br label %[[IF_GFX11_INSTS:.*]]
178136; GFX1101: [[IF_GFX11_INSTS]]:
179137; GFX1101-NEXT: call void @llvm.amdgcn.s.wait.event.export.ready()
180- ; GFX1101-NEXT: br label %[[IF_END11:.*]]
181- ; GFX1101: [[IF_ELSE8:.*:]]
182- ; GFX1101-NEXT: br label %[[IF_GFX10_INSTS:.*]]
183- ; GFX1101: [[IF_GFX10_INSTS]]:
184- ; GFX1101-NEXT: call void @llvm.amdgcn.s.ttracedata.imm(i16 1)
185- ; GFX1101-NEXT: br label %[[IF_END11]]
186- ; GFX1101: [[IF_END11]]:
138+ ; GFX1101-NEXT: br label %[[IF_ELSE8:.*]]
139+ ; GFX1101: [[IF_ELSE8]]:
187140; GFX1101-NEXT: call void @llvm.assume(i1 true)
188141; GFX1101-NEXT: [[DOTPROMOTED9:%.*]] = load i32, ptr [[TMP1]], align 4
189142; GFX1101-NEXT: [[SUB13_PEEL:%.*]] = sub nsw i32 [[DOTPROMOTED9]], [[X]]
@@ -195,42 +148,28 @@ define amdgpu_kernel void @kernel(ptr addrspace(1) %p.coerce, i32 %x) {
195148; GFX1201-NEXT: [[ENTRY:.*:]]
196149; GFX1201-NEXT: [[TMP0:%.*]] = ptrtoint ptr addrspace(1) [[P_COERCE]] to i64
197150; GFX1201-NEXT: [[TMP1:%.*]] = inttoptr i64 [[TMP0]] to ptr
198- ; GFX1201-NEXT: br label %[[IF_GFX1201_OR_GFX12_INSTS:.*]]
199- ; GFX1201: [[LOR_NOT_GFX1201:.*:]]
200- ; GFX1201-NEXT: br label %[[IF_GFX1201_OR_GFX12_INSTS]]
201- ; GFX1201: [[IF_GFX1201_OR_GFX12_INSTS]]:
151+ ; GFX1201-NEXT: br label %[[LOR_NOT_GFX1201:.*]]
152+ ; GFX1201: [[LOR_NOT_GFX1201]]:
202153; GFX1201-NEXT: call void @llvm.amdgcn.s.sleep.var(i32 [[X]])
203- ; GFX1201-NEXT: br label %[[IF_END :.*]]
204- ; GFX1201: [[IF_END ]]:
205- ; GFX1201-NEXT: br label %[[IF_NOT_GFX907 :.*]]
206- ; GFX1201: [[IF_NOT_GFX907 ]]:
154+ ; GFX1201-NEXT: br label %[[IF_NOT_GFX906 :.*]]
155+ ; GFX1201: [[IF_NOT_GFX906 ]]:
156+ ; GFX1201-NEXT: br label %[[IF_GFX1010_OR_GFX1101 :.*]]
157+ ; GFX1201: [[IF_GFX1010_OR_GFX1101 ]]:
207158; GFX1201-NEXT: call void @llvm.amdgcn.s.wait.event.export.ready()
208159; GFX1201-NEXT: br label %[[IF_END6:.*]]
209- ; GFX1201: [[IF_NOT_GFX906:.*:]]
210- ; GFX1201-NEXT: br label %[[IF_GFX1010_OR_GFX1102:.*]]
211- ; GFX1201: [[IF_GFX1010_OR_GFX1102]]:
212- ; GFX1201-NEXT: br label %[[FOR_COND:.*]]
213- ; GFX1201: [[IF_GFX1010_OR_GFX1101:.*:]]
214- ; GFX1201-NEXT: call void @llvm.amdgcn.s.ttracedata.imm(i16 1)
215- ; GFX1201-NEXT: br label %[[IF_END6]]
216160; GFX1201: [[IF_END6]]:
217161; GFX1201-NEXT: call void @llvm.assume(i1 true)
218162; GFX1201-NEXT: call void @llvm.assume(i1 true)
219- ; GFX1201-NEXT: br label %[[FOR_COND]]
163+ ; GFX1201-NEXT: br label %[[FOR_COND:.* ]]
220164; GFX1201: [[FOR_COND]]:
221165; GFX1201-NEXT: [[DOTPROMOTED:%.*]] = load i32, ptr [[TMP1]], align 4
222166; GFX1201-NEXT: [[SUB_PEEL:%.*]] = sub nsw i32 [[DOTPROMOTED]], [[X]]
223167; GFX1201-NEXT: store i32 [[SUB_PEEL]], ptr [[TMP1]], align 4
224168; GFX1201-NEXT: br label %[[IF_GFX11_INSTS:.*]]
225169; GFX1201: [[IF_GFX11_INSTS]]:
226170; GFX1201-NEXT: call void @llvm.amdgcn.s.wait.event.export.ready()
227- ; GFX1201-NEXT: br label %[[IF_END11:.*]]
228- ; GFX1201: [[IF_ELSE8:.*:]]
229- ; GFX1201-NEXT: br label %[[IF_GFX10_INSTS:.*]]
230- ; GFX1201: [[IF_GFX10_INSTS]]:
231- ; GFX1201-NEXT: call void @llvm.amdgcn.s.ttracedata.imm(i16 1)
232- ; GFX1201-NEXT: br label %[[IF_END11]]
233- ; GFX1201: [[IF_END11]]:
171+ ; GFX1201-NEXT: br label %[[IF_ELSE8:.*]]
172+ ; GFX1201: [[IF_ELSE8]]:
234173; GFX1201-NEXT: call void @llvm.assume(i1 true)
235174; GFX1201-NEXT: [[DOTPROMOTED9:%.*]] = load i32, ptr [[TMP1]], align 4
236175; GFX1201-NEXT: [[SUB13_PEEL:%.*]] = sub nsw i32 [[DOTPROMOTED9]], [[X]]
@@ -242,42 +181,28 @@ define amdgpu_kernel void @kernel(ptr addrspace(1) %p.coerce, i32 %x) {
242181; GFX1201-W64-NEXT: [[ENTRY:.*:]]
243182; GFX1201-W64-NEXT: [[TMP0:%.*]] = ptrtoint ptr addrspace(1) [[P_COERCE]] to i64
244183; GFX1201-W64-NEXT: [[TMP1:%.*]] = inttoptr i64 [[TMP0]] to ptr
245- ; GFX1201-W64-NEXT: br label %[[IF_GFX1201_OR_GFX12_INSTS:.*]]
246- ; GFX1201-W64: [[LOR_NOT_GFX1201:.*:]]
247- ; GFX1201-W64-NEXT: br label %[[IF_GFX1201_OR_GFX12_INSTS]]
248- ; GFX1201-W64: [[IF_GFX1201_OR_GFX12_INSTS]]:
184+ ; GFX1201-W64-NEXT: br label %[[LOR_NOT_GFX1201:.*]]
185+ ; GFX1201-W64: [[LOR_NOT_GFX1201]]:
249186; GFX1201-W64-NEXT: call void @llvm.amdgcn.s.sleep.var(i32 [[X]])
250- ; GFX1201-W64-NEXT: br label %[[IF_END :.*]]
251- ; GFX1201-W64: [[IF_END ]]:
252- ; GFX1201-W64-NEXT: br label %[[IF_NOT_GFX907 :.*]]
253- ; GFX1201-W64: [[IF_NOT_GFX907 ]]:
187+ ; GFX1201-W64-NEXT: br label %[[IF_NOT_GFX906 :.*]]
188+ ; GFX1201-W64: [[IF_NOT_GFX906 ]]:
189+ ; GFX1201-W64-NEXT: br label %[[IF_GFX1010_OR_GFX1101 :.*]]
190+ ; GFX1201-W64: [[IF_GFX1010_OR_GFX1101 ]]:
254191; GFX1201-W64-NEXT: call void @llvm.amdgcn.s.wait.event.export.ready()
255192; GFX1201-W64-NEXT: br label %[[IF_END6:.*]]
256- ; GFX1201-W64: [[IF_NOT_GFX906:.*:]]
257- ; GFX1201-W64-NEXT: br label %[[IF_GFX1010_OR_GFX1102:.*]]
258- ; GFX1201-W64: [[IF_GFX1010_OR_GFX1102]]:
259- ; GFX1201-W64-NEXT: br label %[[FOR_COND:.*]]
260- ; GFX1201-W64: [[IF_GFX1010_OR_GFX1101:.*:]]
261- ; GFX1201-W64-NEXT: call void @llvm.amdgcn.s.ttracedata.imm(i16 1)
262- ; GFX1201-W64-NEXT: br label %[[IF_END6]]
263193; GFX1201-W64: [[IF_END6]]:
264194; GFX1201-W64-NEXT: call void @llvm.assume(i1 true)
265195; GFX1201-W64-NEXT: call void @llvm.assume(i1 true)
266- ; GFX1201-W64-NEXT: br label %[[FOR_COND]]
196+ ; GFX1201-W64-NEXT: br label %[[FOR_COND:.* ]]
267197; GFX1201-W64: [[FOR_COND]]:
268198; GFX1201-W64-NEXT: [[DOTPROMOTED:%.*]] = load i32, ptr [[TMP1]], align 4
269199; GFX1201-W64-NEXT: [[SUB_PEEL:%.*]] = sub nsw i32 [[DOTPROMOTED]], [[X]]
270200; GFX1201-W64-NEXT: store i32 [[SUB_PEEL]], ptr [[TMP1]], align 4
271201; GFX1201-W64-NEXT: br label %[[IF_GFX11_INSTS:.*]]
272202; GFX1201-W64: [[IF_GFX11_INSTS]]:
273203; GFX1201-W64-NEXT: call void @llvm.amdgcn.s.wait.event.export.ready()
274- ; GFX1201-W64-NEXT: br label %[[IF_END11:.*]]
275- ; GFX1201-W64: [[IF_ELSE8:.*:]]
276- ; GFX1201-W64-NEXT: br label %[[IF_GFX10_INSTS:.*]]
277- ; GFX1201-W64: [[IF_GFX10_INSTS]]:
278- ; GFX1201-W64-NEXT: call void @llvm.amdgcn.s.ttracedata.imm(i16 1)
279- ; GFX1201-W64-NEXT: br label %[[IF_END11]]
280- ; GFX1201-W64: [[IF_END11]]:
204+ ; GFX1201-W64-NEXT: br label %[[IF_ELSE8:.*]]
205+ ; GFX1201-W64: [[IF_ELSE8]]:
281206; GFX1201-W64-NEXT: call void @llvm.assume(i1 true)
282207; GFX1201-W64-NEXT: [[DOTPROMOTED9:%.*]] = load i32, ptr [[TMP1]], align 4
283208; GFX1201-W64-NEXT: [[SUB13_PEEL:%.*]] = sub nsw i32 [[DOTPROMOTED9]], [[X]]
0 commit comments