Skip to content

Commit 97019b8

Browse files
svenvhjsji
authored andcommitted
Convert transcoding tests to opaque pointers (#2127)
This is a bulk conversion done using the migration script. There are more transcoding tests to be converted; however they will need manual fixups, so leave them out of this bulk conversion. Original commit: KhronosGroup/SPIRV-LLVM-Translator@76fcc39
1 parent 41e72f2 commit 97019b8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+1314
-1376
lines changed

llvm-spirv/test/transcoding/AtomicCompareExchange_cl20.ll

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -44,56 +44,54 @@ target triple = "spir-unknown-unknown"
4444
; CHECK: call spir_func i1 @_Z39atomic_compare_exchange_strong_explicit{{.*}}(ptr {{.*}} {{.*}}, ptr addrspace(4) {{.*}}, i32 {{.*}}, i32 5, i32 5, i32 2)
4545

4646
; Function Attrs: nounwind
47-
define spir_func void @test_strong(i32 addrspace(4)* %object, i32 addrspace(4)* %expected, i32 %desired) #0 {
47+
define spir_func void @test_strong(ptr addrspace(4) %object, ptr addrspace(4) %expected, i32 %desired) #0 {
4848
entry:
49-
%call = tail call spir_func zeroext i1 @_Z30atomic_compare_exchange_strongPVU3AS4U7_AtomiciPU3AS4ii(i32 addrspace(4)* %object, i32 addrspace(4)* %expected, i32 %desired) #2
49+
%call = tail call spir_func zeroext i1 @_Z30atomic_compare_exchange_strongPVU3AS4U7_AtomiciPU3AS4ii(ptr addrspace(4) %object, ptr addrspace(4) %expected, i32 %desired) #2
5050
ret void
5151
}
5252

53-
declare spir_func zeroext i1 @_Z30atomic_compare_exchange_strongPVU3AS4U7_AtomiciPU3AS4ii(i32 addrspace(4)*, i32 addrspace(4)*, i32) #1
53+
declare spir_func zeroext i1 @_Z30atomic_compare_exchange_strongPVU3AS4U7_AtomiciPU3AS4ii(ptr addrspace(4), ptr addrspace(4), i32) #1
5454

5555
; Function Attrs: nounwind
56-
define spir_func void @test_weak(i32 addrspace(4)* %object, i32 addrspace(4)* %expected, i32 %desired) #0 {
56+
define spir_func void @test_weak(ptr addrspace(4) %object, ptr addrspace(4) %expected, i32 %desired) #0 {
5757
entry:
58-
%call2 = tail call spir_func zeroext i1 @_Z28atomic_compare_exchange_weakPVU3AS4U7_AtomiciPU3AS4ii(i32 addrspace(4)* %object, i32 addrspace(4)* %expected, i32 %desired) #2
58+
%call2 = tail call spir_func zeroext i1 @_Z28atomic_compare_exchange_weakPVU3AS4U7_AtomiciPU3AS4ii(ptr addrspace(4) %object, ptr addrspace(4) %expected, i32 %desired) #2
5959
ret void
6060
}
6161

62-
declare spir_func zeroext i1 @_Z28atomic_compare_exchange_weakPVU3AS4U7_AtomiciPU3AS4ii(i32 addrspace(4)*, i32 addrspace(4)*, i32) #1
62+
declare spir_func zeroext i1 @_Z28atomic_compare_exchange_weakPVU3AS4U7_AtomiciPU3AS4ii(ptr addrspace(4), ptr addrspace(4), i32) #1
6363

6464
; Function Attrs: nounwind
65-
define spir_kernel void @atomic_in_loop(i32 addrspace(1)* %destMemory, i32 addrspace(1)* %oldValues) #0 {
65+
define spir_kernel void @atomic_in_loop(ptr addrspace(1) %destMemory, ptr addrspace(1) %oldValues) #0 {
6666
entry:
67-
%destMemory.addr = alloca i32 addrspace(1)*, align 8
68-
%oldValues.addr = alloca i32 addrspace(1)*, align 8
67+
%destMemory.addr = alloca ptr addrspace(1), align 8
68+
%oldValues.addr = alloca ptr addrspace(1), align 8
6969
%expected = alloca i32, align 4
7070
%previous = alloca i32, align 4
7171
%i = alloca i32, align 4
72-
store i32 addrspace(1)* %destMemory, i32 addrspace(1)** %destMemory.addr, align 8
73-
store i32 addrspace(1)* %oldValues, i32 addrspace(1)** %oldValues.addr, align 8
74-
store i32 0, i32* %i, align 4
72+
store ptr addrspace(1) %destMemory, ptr %destMemory.addr, align 8
73+
store ptr addrspace(1) %oldValues, ptr %oldValues.addr, align 8
74+
store i32 0, ptr %i, align 4
7575
br label %for.cond
7676

7777
for.cond: ; preds = %for.inc, %entry
78-
%0 = load i32, i32* %i, align 4
78+
%0 = load i32, ptr %i, align 4
7979
%cmp = icmp slt i32 %0, 100000
8080
br i1 %cmp, label %for.body, label %for.end
8181

8282
for.body: ; preds = %for.cond
83-
%1 = load i32 addrspace(1)*, i32 addrspace(1)** %destMemory.addr, align 8
84-
%arrayidx = getelementptr inbounds i32, i32 addrspace(1)* %1, i64 0
85-
%2 = addrspacecast i32 addrspace(1)* %arrayidx to i32 addrspace(4)*
86-
%3 = addrspacecast i32* %expected to i32 addrspace(4)*
87-
%4 = load i32 addrspace(1)*, i32 addrspace(1)** %oldValues.addr, align 8
88-
%arrayidx1 = getelementptr inbounds i32, i32 addrspace(1)* %4, i64 0
89-
%5 = load i32, i32 addrspace(1)* %arrayidx1, align 4
90-
%call = call spir_func zeroext i1 @_Z30atomic_compare_exchange_strongPVU3AS4U7_AtomiciPU3AS4ii(i32 addrspace(4)* %2, i32 addrspace(4)* %3, i32 %5)
83+
%1 = load ptr addrspace(1), ptr %destMemory.addr, align 8
84+
%2 = addrspacecast ptr addrspace(1) %1 to ptr addrspace(4)
85+
%3 = addrspacecast ptr %expected to ptr addrspace(4)
86+
%4 = load ptr addrspace(1), ptr %oldValues.addr, align 8
87+
%5 = load i32, ptr addrspace(1) %4, align 4
88+
%call = call spir_func zeroext i1 @_Z30atomic_compare_exchange_strongPVU3AS4U7_AtomiciPU3AS4ii(ptr addrspace(4) %2, ptr addrspace(4) %3, i32 %5)
9189
br label %for.inc
9290

9391
for.inc: ; preds = %for.body
94-
%6 = load i32, i32* %i, align 4
92+
%6 = load i32, ptr %i, align 4
9593
%inc = add nsw i32 %6, 1
96-
store i32 %inc, i32* %i, align 4
94+
store i32 %inc, ptr %i, align 4
9795
br label %for.cond
9896

9997
for.end: ; preds = %for.cond

llvm-spirv/test/transcoding/BitReversePref.ll

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,24 +20,22 @@ entry:
2020
}
2121

2222
; Function Attrs: argmemonly nounwind willreturn
23-
declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture) #1
23+
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1
2424

2525
; Function Attrs: argmemonly nounwind willreturn
26-
declare void @llvm.lifetime.end.p0i8(i64 immarg, i8* nocapture) #1
26+
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1
2727

2828
; Function Attrs: inlinehint norecurse nounwind
2929
define linkonce_odr dso_local spir_func i32 @_Z10BitReversei(i32 %value) #3 comdat {
3030
entry:
3131
%value.addr = alloca i32, align 4
3232
%reversed = alloca i32, align 4
33-
store i32 %value, i32* %value.addr, align 4, !tbaa !9
34-
%0 = bitcast i32* %reversed to i8*
35-
call void @llvm.lifetime.start.p0i8(i64 4, i8* %0) #4
36-
store i32 0, i32* %reversed, align 4, !tbaa !9
37-
%1 = load i32, i32* %reversed, align 4, !tbaa !9
38-
%2 = bitcast i32* %reversed to i8*
39-
call void @llvm.lifetime.end.p0i8(i64 4, i8* %2) #4
40-
ret i32 %1
33+
store i32 %value, ptr %value.addr, align 4, !tbaa !9
34+
call void @llvm.lifetime.start.p0(i64 4, ptr %reversed) #4
35+
store i32 0, ptr %reversed, align 4, !tbaa !9
36+
%0 = load i32, ptr %reversed, align 4, !tbaa !9
37+
call void @llvm.lifetime.end.p0(i64 4, ptr %reversed) #4
38+
ret i32 %0
4139
}
4240

4341
attributes #0 = { norecurse "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "sycl-module-id"="Test.cpp" "uniform-work-group-size"="true" "unsafe-fp-math"="false" "use-soft-float"="false" }

llvm-spirv/test/transcoding/BuildNDRange.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@ target triple = "spir"
3030
; Function Attrs: nounwind
3131
define spir_kernel void @test() #0 !kernel_arg_addr_space !0 !kernel_arg_access_qual !0 !kernel_arg_type !0 !kernel_arg_base_type !0 !kernel_arg_type_qual !0 {
3232
%ndrange = alloca %struct.ndrange_t, align 4
33-
call spir_func void @_Z10ndrange_1Djj(%struct.ndrange_t* sret(%struct.ndrange_t) %ndrange, i32 123, i32 456)
33+
call spir_func void @_Z10ndrange_1Djj(ptr sret(%struct.ndrange_t) %ndrange, i32 123, i32 456)
3434
ret void
3535
}
3636

37-
declare spir_func void @_Z10ndrange_1Djj(%struct.ndrange_t* sret(%struct.ndrange_t), i32, i32) #1
37+
declare spir_func void @_Z10ndrange_1Djj(ptr sret(%struct.ndrange_t), i32, i32) #1
3838

3939
attributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-realign-stack" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
4040
attributes #1 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-realign-stack" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }

llvm-spirv/test/transcoding/BuildNDRange_2.ll

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -84,31 +84,27 @@ entry:
8484
%tmp = alloca %struct.ndrange_t, align 8
8585
%lsize3 = alloca [3 x i64], align 8
8686
%tmp3 = alloca %struct.ndrange_t, align 8
87-
%0 = bitcast [2 x i64]* %lsize2 to i8*
88-
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %0, i8* align 8 bitcast ([2 x i64]* @test_ndrange_2D3D.lsize2 to i8*), i64 16, i1 false)
89-
%arraydecay = getelementptr inbounds [2 x i64], [2 x i64]* %lsize2, i64 0, i64 0
90-
call spir_func void @_Z10ndrange_2DPKm(%struct.ndrange_t* sret(%struct.ndrange_t) %tmp, i64* %arraydecay) #2
91-
%1 = bitcast [3 x i64]* %lsize3 to i8*
92-
call void @llvm.memcpy.p0i8.p0i8.i64(i8* align 8 %1, i8* align 8 bitcast ([3 x i64]* @test_ndrange_2D3D.lsize3 to i8*), i64 24, i1 false)
93-
%arraydecay2 = getelementptr inbounds [3 x i64], [3 x i64]* %lsize3, i64 0, i64 0
94-
call spir_func void @_Z10ndrange_3DPKm(%struct.ndrange_t* sret(%struct.ndrange_t) %tmp3, i64* %arraydecay2) #2
87+
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %lsize2, ptr align 8 @test_ndrange_2D3D.lsize2, i64 16, i1 false)
88+
call spir_func void @_Z10ndrange_2DPKm(ptr sret(%struct.ndrange_t) %tmp, ptr %lsize2) #2
89+
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %lsize3, ptr align 8 @test_ndrange_2D3D.lsize3, i64 24, i1 false)
90+
call spir_func void @_Z10ndrange_3DPKm(ptr sret(%struct.ndrange_t) %tmp3, ptr %lsize3) #2
9591
ret void
9692
}
9793

9894
; Function Attrs: nounwind
99-
declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i1) #2
95+
declare void @llvm.memcpy.p0.p0.i64(ptr nocapture, ptr nocapture readonly, i64, i1) #2
10096

101-
declare spir_func void @_Z10ndrange_2DPKm(%struct.ndrange_t* sret(%struct.ndrange_t), i64*) #1
97+
declare spir_func void @_Z10ndrange_2DPKm(ptr sret(%struct.ndrange_t), ptr) #1
10298

103-
declare spir_func void @_Z10ndrange_3DPKm(%struct.ndrange_t* sret(%struct.ndrange_t), i64*) #1
99+
declare spir_func void @_Z10ndrange_3DPKm(ptr sret(%struct.ndrange_t), ptr) #1
104100

105101
; Function Attrs: nounwind
106102
define spir_func void @test_ndrange_const_2D3D() #0 {
107103
entry:
108104
%tmp = alloca %struct.ndrange_t, align 8
109105
%tmp1 = alloca %struct.ndrange_t, align 8
110-
call spir_func void @_Z10ndrange_2DPKm(%struct.ndrange_t* sret(%struct.ndrange_t) %tmp, i64* getelementptr inbounds ([2 x i64], [2 x i64]* @test_ndrange_2D3D.lsize2, i64 0, i64 0)) #2
111-
call spir_func void @_Z10ndrange_3DPKm(%struct.ndrange_t* sret(%struct.ndrange_t) %tmp1, i64* getelementptr inbounds ([3 x i64], [3 x i64]* @test_ndrange_2D3D.lsize3, i64 0, i64 0)) #2
106+
call spir_func void @_Z10ndrange_2DPKm(ptr sret(%struct.ndrange_t) %tmp, ptr @test_ndrange_2D3D.lsize2) #2
107+
call spir_func void @_Z10ndrange_3DPKm(ptr sret(%struct.ndrange_t) %tmp1, ptr @test_ndrange_2D3D.lsize3) #2
112108
ret void
113109
}
114110

llvm-spirv/test/transcoding/DecorationAlignment.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ target triple = "spir64-unknown-unknown"
1515

1616
; CHECK-LLVM: define spir_func void @_ZN3FooC2Ev(ptr addrspace(4) align 16 %0)
1717
; Function Attrs: noinline nounwind
18-
define spir_func void @_ZN3FooC2Ev(%struct._ZTS6Struct.Struct addrspace(4)* align 16 %0) #0 {
18+
define spir_func void @_ZN3FooC2Ev(ptr addrspace(4) align 16 %0) #0 {
1919
ret void
2020
}
2121

llvm-spirv/test/transcoding/DecorationMaxByteOffset.ll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,15 @@ target datalayout = "e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:2
2424
target triple = "spir-unknown-unknown"
2525

2626
; Function Attrs: nounwind
27-
define spir_kernel void @worker(i8 addrspace(3)* dereferenceable(12) %ptr) #0 {
27+
define spir_kernel void @worker(ptr addrspace(3) dereferenceable(12) %ptr) #0 {
2828
entry:
29-
%ptr.addr = alloca i8 addrspace(3)*, align 4
30-
store i8 addrspace(3)* %ptr, i8 addrspace(3)** %ptr.addr, align 4
29+
%ptr.addr = alloca ptr addrspace(3), align 4
30+
store ptr addrspace(3) %ptr, ptr %ptr.addr, align 4
3131
ret void
3232
}
3333

3434
; Function Attrs: nounwind
35-
define spir_func void @not_a_kernel(i8 addrspace(3)* dereferenceable(123) %ptr2) #0 {
35+
define spir_func void @not_a_kernel(ptr addrspace(3) dereferenceable(123) %ptr2) #0 {
3636
entry:
3737
ret void
3838
}

llvm-spirv/test/transcoding/GlobalFunAnnotate.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ target triple = "spir64-unknown-linux"
1414

1515
@.str = private unnamed_addr constant [23 x i8] c"annotation_on_function\00", section "llvm.metadata"
1616
@.str.1 = private unnamed_addr constant [6 x i8] c"an.cl\00", section "llvm.metadata"
17-
@llvm.global.annotations = appending global [1 x { i8*, i8*, i8*, i32, i8* }] [{ i8*, i8*, i8*, i32, i8* } { i8* bitcast (void ()* @foo to i8*), i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str, i32 0, i32 0), i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1, i32 0, i32 0), i32 2, i8* null }], section "llvm.metadata"
17+
@llvm.global.annotations = appending global [1 x { ptr, ptr, ptr, i32, ptr }] [{ ptr, ptr, ptr, i32, ptr } { ptr @foo, ptr @.str, ptr @.str.1, i32 2, ptr null }], section "llvm.metadata"
1818

1919
; Function Attrs: convergent norecurse nounwind
2020
define dso_local spir_func void @foo() #0 {

llvm-spirv/test/transcoding/KernelArgTypeInOpString.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ target triple = "spir-unknown-unknown"
5151
%struct.struct_name = type { i32, i32 }
5252

5353
; Function Attrs: convergent noinline nounwind optnone
54-
define spir_kernel void @foo(%struct.image_kernel_data addrspace(1)* %in, i32 %out, %struct.struct_name addrspace(1)* %outData) #0 !kernel_arg_addr_space !5 !kernel_arg_access_qual !6 !kernel_arg_type !7 !kernel_arg_base_type !8 !kernel_arg_type_qual !9 {
54+
define spir_kernel void @foo(ptr addrspace(1) %in, i32 %out, ptr addrspace(1) %outData) #0 !kernel_arg_addr_space !5 !kernel_arg_access_qual !6 !kernel_arg_type !7 !kernel_arg_base_type !8 !kernel_arg_type_qual !9 {
5555
entry:
5656
ret void
5757
}
@@ -78,4 +78,4 @@ attributes #0 = { convergent noinline nounwind optnone "correctly-rounded-divide
7878
!7 = !{!"image_kernel_data*", !"myInt", !"struct struct_name*"}
7979
!8 = !{!"image_kernel_data*", !"int", !"struct struct_name*"}
8080
!9 = !{!"", !"", !""}
81-
!10 = !{void (%struct.image_kernel_data addrspace(1)*, i32, %struct.struct_name addrspace(1)*)* @foo}
81+
!10 = !{ptr @foo}

llvm-spirv/test/transcoding/KernelArgTypeInOpString2.ll

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,8 @@ target triple = "spir"
5353

5454
; Function Attrs: convergent noinline nounwind optnone
5555

56-
define dso_local spir_kernel void @foo(%"class.cl::tt::vec" addrspace(1)* nocapture) local_unnamed_addr #0 !kernel_arg_addr_space !4 !kernel_arg_access_qual !5 !kernel_arg_type !6 !kernel_arg_base_type !6 !kernel_arg_type_qual !7 {
57-
%2 = getelementptr inbounds %"class.cl::tt::vec", %"class.cl::tt::vec" addrspace(1)* %0, i32 0, i32 0, i32 0
58-
store float 0.000000e+00, float addrspace(1)* %2, align 4, !tbaa !8
56+
define dso_local spir_kernel void @foo(ptr addrspace(1) nocapture) local_unnamed_addr #0 !kernel_arg_addr_space !4 !kernel_arg_access_qual !5 !kernel_arg_type !6 !kernel_arg_base_type !6 !kernel_arg_type_qual !7 {
57+
store float 0.000000e+00, ptr addrspace(1) %0, align 4, !tbaa !8
5958
ret void
6059
}
6160

llvm-spirv/test/transcoding/LoopUnroll.ll

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -70,12 +70,12 @@ entry:
7070
; CHECK-SPIRV: Label
7171
%i = alloca i32, align 4
7272
%x = alloca i32, align 4
73-
store i32 0, i32* %i, align 4
73+
store i32 0, ptr %i, align 4
7474
br label %for.cond
7575

7676
for.cond: ; preds = %for.inc, %entry
7777
; CHECK-SPIRV: Label [[#HEADER:]]
78-
%0 = load i32, i32* %i, align 4
78+
%0 = load i32, ptr %i, align 4
7979
%cmp = icmp slt i32 %0, 1024
8080
; Per SPIRV spec p3.23 "DontUnroll" loop control = 0x2
8181
; CHECK-SPIRV: LoopMerge [[#MERGEBLOCK:]] [[#CONTINUE:]] 2
@@ -84,7 +84,7 @@ for.cond: ; preds = %for.inc, %entry
8484

8585
for.body: ; preds = %for.cond
8686
; CHECK-SPIRV: Label
87-
%1 = load i32, i32* %i, align 4
87+
%1 = load i32, ptr %i, align 4
8888
%rem = srem i32 %1, 2
8989
%tobool = icmp ne i32 %rem, 0
9090
br i1 %tobool, label %if.then, label %if.end
@@ -95,15 +95,15 @@ if.then: ; preds = %for.body
9595

9696
if.end: ; preds = %for.body
9797
; CHECK-SPIRV: Label
98-
%2 = load i32, i32* %i, align 4
99-
store i32 %2, i32* %x, align 4
98+
%2 = load i32, ptr %i, align 4
99+
store i32 %2, ptr %x, align 4
100100
br label %for.inc
101101

102102
for.inc: ; preds = %if.end, %if.then
103103
; CHECK-SPIRV: Label [[#CONTINUE]]
104-
%3 = load i32, i32* %i, align 4
104+
%3 = load i32, ptr %i, align 4
105105
%inc = add nsw i32 %3, 1
106-
store i32 %inc, i32* %i, align 4
106+
store i32 %inc, ptr %i, align 4
107107
br label %for.cond, !llvm.loop !5
108108
; CHECK-LLVM: br label %for.cond, !llvm.loop ![[#UNROLLDISABLE:]]
109109
; CHECK-SPIRV: Branch [[#HEADER]]
@@ -120,14 +120,14 @@ entry:
120120
; CHECK-SPIRV: Label
121121
%i = alloca i32, align 4
122122
%x = alloca i32, align 4
123-
store i32 1024, i32* %i, align 4
123+
store i32 1024, ptr %i, align 4
124124
br label %while.cond
125125

126126
while.cond: ; preds = %if.end, %if.then, %entry
127127
; CHECK-SPIRV: Label [[#HEADER:]]
128-
%0 = load i32, i32* %i, align 4
128+
%0 = load i32, ptr %i, align 4
129129
%dec = add nsw i32 %0, -1
130-
store i32 %dec, i32* %i, align 4
130+
store i32 %dec, ptr %i, align 4
131131
%cmp = icmp sgt i32 %0, 0
132132
; Per SPIRV spec p3.23 "Unroll" loop control = 0x1
133133
; CHECK-SPIRV: LoopMerge [[#MERGEBLOCK:]] [[#CONTINUE:]] 256 8
@@ -137,7 +137,7 @@ while.cond: ; preds = %if.end, %if.then, %
137137

138138
while.body: ; preds = %while.cond
139139
; CHECK-SPIRV: Label
140-
%1 = load i32, i32* %i, align 4
140+
%1 = load i32, ptr %i, align 4
141141
%rem = srem i32 %1, 2
142142
%tobool = icmp ne i32 %rem, 0
143143
br i1 %tobool, label %if.then, label %if.end
@@ -154,8 +154,8 @@ if.then: ; preds = %while.body
154154

155155
if.end: ; preds = %while.body
156156
; CHECK-SPIRV: Label
157-
%2 = load i32, i32* %i, align 4
158-
store i32 %2, i32* %x, align 4
157+
%2 = load i32, ptr %i, align 4
158+
store i32 %2, ptr %x, align 4
159159
br label %while.cond, !llvm.loop !7
160160

161161
while.end: ; preds = %while.cond
@@ -170,12 +170,12 @@ entry:
170170
; CHECK-SPIRV: Label
171171
%i = alloca i32, align 4
172172
%x = alloca i32, align 4
173-
store i32 1024, i32* %i, align 4
173+
store i32 1024, ptr %i, align 4
174174
br label %do.body
175175

176176
do.body: ; preds = %do.cond, %entry
177177
; CHECK-SPIRV: Label [[#HEADER:]]
178-
%0 = load i32, i32* %i, align 4
178+
%0 = load i32, ptr %i, align 4
179179
%rem = srem i32 %0, 2
180180
%tobool = icmp ne i32 %rem, 0
181181
; Per SPIRV spec p3.23 "Unroll" loop control = 0x1
@@ -189,15 +189,15 @@ if.then: ; preds = %do.body
189189

190190
if.end: ; preds = %do.body
191191
; CHECK-SPIRV: Label
192-
%1 = load i32, i32* %i, align 4
193-
store i32 %1, i32* %x, align 4
192+
%1 = load i32, ptr %i, align 4
193+
store i32 %1, ptr %x, align 4
194194
br label %do.cond
195195

196196
do.cond: ; preds = %if.end, %if.then
197197
; CHECK-SPIRV: Label [[#CONTINUE]]
198-
%2 = load i32, i32* %i, align 4
198+
%2 = load i32, ptr %i, align 4
199199
%dec = add nsw i32 %2, -1
200-
store i32 %dec, i32* %i, align 4
200+
store i32 %dec, ptr %i, align 4
201201
%cmp = icmp sgt i32 %2, 0
202202
; CHECK-SPIRV: BranchConditional [[#]] [[#HEADER]] [[#MERGEBLOCK]]
203203
; CHECK-LLVM: br i1 %cmp, label %do.body, label %do.end, !llvm.loop ![[#UNROLLENABLE1:]]
@@ -215,12 +215,12 @@ entry:
215215
; CHECK-SPIRV: Label
216216
%i = alloca i32, align 4
217217
%x = alloca i32, align 4
218-
store i32 1024, i32* %i, align 4
218+
store i32 1024, ptr %i, align 4
219219
br label %for.body
220220

221221
for.body: ; preds = %for.cond, %entry
222222
; CHECK-SPIRV: Label [[#HEADER:]]
223-
%0 = load i32, i32* %i, align 4
223+
%0 = load i32, ptr %i, align 4
224224
%rem = srem i32 %0, 2
225225
%tobool = icmp ne i32 %rem, 0
226226
; Per SPIRV spec p3.23 "Unroll" loop control = 0x1
@@ -234,15 +234,15 @@ if.then: ; preds = %for.body
234234

235235
if.end: ; preds = %for.body
236236
; CHECK-SPIRV: Label
237-
%1 = load i32, i32* %i, align 4
238-
store i32 %1, i32* %x, align 4
237+
%1 = load i32, ptr %i, align 4
238+
store i32 %1, ptr %x, align 4
239239
br label %for.cond
240240

241241
for.cond: ; preds = %if.end, %if.then
242242
; CHECK-SPIRV: Label [[#CONTINUE]]
243-
%2 = load i32, i32* %i, align 4
243+
%2 = load i32, ptr %i, align 4
244244
%dec = add nsw i32 %2, -1
245-
store i32 %dec, i32* %i, align 4
245+
store i32 %dec, ptr %i, align 4
246246
%cmp = icmp sgt i32 %2, 0
247247
; CHECK-SPIRV: BranchConditional [[#]] [[#MERGEBLOCK]] [[#HEADER]]
248248
; CHECK-LLVM: br i1 %cmp, label %for.end, label %for.body, !llvm.loop ![[#UNROLLENABLE2:]]

0 commit comments

Comments
 (0)