Skip to content

Commit a2db15e

Browse files
svenvhjsji
authored andcommitted
Convert tests to opaque pointers (#2134)
This completes the initial bulk conversion of tests using the migration script. There are more tests to be converted; however they will need manual fixups, so leave them out of this bulk conversion. Original commit: KhronosGroup/SPIRV-LLVM-Translator@2c9f60f
1 parent 97b1e12 commit a2db15e

Some content is hidden

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

52 files changed

+319
-335
lines changed

llvm-spirv/test/AtomicCompareExchange.ll

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,16 @@ target datalayout = "e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:2
2929
target triple = "spir"
3030

3131
; Function Attrs: nounwind
32-
define dso_local spir_func void @test(i32* %ptr, i32* %value_ptr, i32 %comparator) local_unnamed_addr #0 {
32+
define dso_local spir_func void @test(ptr %ptr, ptr %value_ptr, i32 %comparator) local_unnamed_addr #0 {
3333
entry:
34-
%0 = load i32, i32* %value_ptr, align 4
35-
%1 = cmpxchg i32* %ptr, i32 %comparator, i32 %0 seq_cst acquire
34+
%0 = load i32, ptr %value_ptr, align 4
35+
%1 = cmpxchg ptr %ptr, i32 %comparator, i32 %0 seq_cst acquire
3636
%2 = extractvalue { i32, i1 } %1, 1
3737
br i1 %2, label %cmpxchg.continue, label %cmpxchg.store_expected
3838

3939
cmpxchg.store_expected: ; preds = %entry
4040
%3 = extractvalue { i32, i1 } %1, 0
41-
store i32 %3, i32* %value_ptr, align 4
41+
store i32 %3, ptr %value_ptr, align 4
4242
br label %cmpxchg.continue
4343

4444
cmpxchg.continue: ; preds = %cmpxchg.store_expected, %entry
@@ -56,10 +56,10 @@ cmpxchg.continue: ; preds = %cmpxchg.store_expec
5656
; CHECK-SPIRV: Store [[Store_ptr]] [[Composite_1]]
5757

5858
; Function Attrs: nounwind
59-
define dso_local spir_func void @test2(i32* %ptr, {i32, i1}* %store_ptr) local_unnamed_addr #0 {
59+
define dso_local spir_func void @test2(ptr %ptr, ptr %store_ptr) local_unnamed_addr #0 {
6060
entry:
61-
%0 = cmpxchg i32* %ptr, i32 128, i32 456 seq_cst acquire
62-
store { i32, i1 } %0, { i32, i1 }* %store_ptr, align 4
61+
%0 = cmpxchg ptr %ptr, i32 128, i32 456 seq_cst acquire
62+
store { i32, i1 } %0, ptr %store_ptr, align 4
6363
ret void
6464
}
6565

llvm-spirv/test/AtomicCompareExchange_cl20.ll

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,24 +18,24 @@ target triple = "spir-unknown-unknown"
1818
; CHECK: 2 TypeBool [[bool:[0-9]+]]
1919

2020
; Function Attrs: nounwind
21-
define spir_func void @test(i32 addrspace(4)* %object, i32 addrspace(4)* %expected, i32 %desired) #0 {
21+
define spir_func void @test(ptr addrspace(4) %object, ptr addrspace(4) %expected, i32 %desired) #0 {
2222
; CHECK: FunctionParameter [[int_ptr]] [[object:[0-9]+]]
2323
; CHECK: FunctionParameter [[int_ptr]] [[expected:[0-9]+]]
2424
; CHECK: FunctionParameter [[int]] [[desired:[0-9]+]]
2525

2626
entry:
27-
%object.addr = alloca i32 addrspace(4)*, align 4
28-
%expected.addr = alloca i32 addrspace(4)*, align 4
27+
%object.addr = alloca ptr addrspace(4), align 4
28+
%expected.addr = alloca ptr addrspace(4), align 4
2929
%desired.addr = alloca i32, align 4
3030
%strong_res = alloca i8, align 1
3131
%res = alloca i8, align 1
3232
%weak_res = alloca i8, align 1
33-
store i32 addrspace(4)* %object, i32 addrspace(4)** %object.addr, align 4
34-
store i32 addrspace(4)* %expected, i32 addrspace(4)** %expected.addr, align 4
35-
store i32 %desired, i32* %desired.addr, align 4
36-
%0 = load i32 addrspace(4)*, i32 addrspace(4)** %object.addr, align 4
37-
%1 = load i32 addrspace(4)*, i32 addrspace(4)** %expected.addr, align 4
38-
%2 = load i32, i32* %desired.addr, align 4
33+
store ptr addrspace(4) %object, ptr %object.addr, align 4
34+
store ptr addrspace(4) %expected, ptr %expected.addr, align 4
35+
store i32 %desired, ptr %desired.addr, align 4
36+
%0 = load ptr addrspace(4), ptr %object.addr, align 4
37+
%1 = load ptr addrspace(4), ptr %expected.addr, align 4
38+
%2 = load i32, ptr %desired.addr, align 4
3939
; CHECK: Store [[object_addr:[0-9]+]] [[object]]
4040
; CHECK: Store [[expected_addr:[0-9]+]] [[expected]]
4141
; CHECK: Store [[desired_addr:[0-9]+]] [[desired]]
@@ -44,44 +44,44 @@ entry:
4444
; CHECK: Load [[int]] [[Value:[0-9]+]] [[desired_addr]]
4545
; CHECK: Load [[int]] [[Comparator:[0-9]+]] [[exp]]
4646
; CHECK-NEXT: 9 AtomicCompareExchange [[int]] [[Result:[0-9]+]] [[Pointer]] [[DeviceScope]] [[SequentiallyConsistent_MS]] [[SequentiallyConsistent_MS]] [[Value]] [[Comparator]]
47-
%call = call spir_func zeroext i1 @_Z30atomic_compare_exchange_strongPVU3AS4U7_AtomiciPU3AS4ii(i32 addrspace(4)* %0, i32 addrspace(4)* %1, i32 %2)
47+
%call = call spir_func zeroext i1 @_Z30atomic_compare_exchange_strongPVU3AS4U7_AtomiciPU3AS4ii(ptr addrspace(4) %0, ptr addrspace(4) %1, i32 %2)
4848
; CHECK-NEXT: Store [[exp]] [[Result]]
4949
; CHECK-NEXT: IEqual [[bool]] [[CallRes:[0-9]+]] [[Result]] [[Comparator]]
5050
; CHECK-NOT: [[Result]]
5151
%frombool = zext i1 %call to i8
52-
store i8 %frombool, i8* %strong_res, align 1
53-
%3 = load i8, i8* %strong_res, align 1
52+
store i8 %frombool, ptr %strong_res, align 1
53+
%3 = load i8, ptr %strong_res, align 1
5454
%tobool = trunc i8 %3 to i1
5555
%lnot = xor i1 %tobool, true
5656
%frombool1 = zext i1 %lnot to i8
57-
store i8 %frombool1, i8* %res, align 1
58-
%4 = load i32 addrspace(4)*, i32 addrspace(4)** %object.addr, align 4
59-
%5 = load i32 addrspace(4)*, i32 addrspace(4)** %expected.addr, align 4
60-
%6 = load i32, i32* %desired.addr, align 4
57+
store i8 %frombool1, ptr %res, align 1
58+
%4 = load ptr addrspace(4), ptr %object.addr, align 4
59+
%5 = load ptr addrspace(4), ptr %expected.addr, align 4
60+
%6 = load i32, ptr %desired.addr, align 4
6161

6262
; CHECK: Load [[int_ptr]] [[Pointer:[0-9]+]] [[object_addr]]
6363
; CHECK: Load [[int_ptr]] [[exp:[0-9]+]] [[expected_addr]]
6464
; CHECK: Load [[int]] [[Value:[0-9]+]] [[desired_addr]]
6565
; CHECK: Load [[int]] [[ComparatorWeak:[0-9]+]] [[exp]]
66-
%call2 = call spir_func zeroext i1 @_Z28atomic_compare_exchange_weakPVU3AS4U7_AtomiciPU3AS4ii(i32 addrspace(4)* %4, i32 addrspace(4)* %5, i32 %6)
66+
%call2 = call spir_func zeroext i1 @_Z28atomic_compare_exchange_weakPVU3AS4U7_AtomiciPU3AS4ii(ptr addrspace(4) %4, ptr addrspace(4) %5, i32 %6)
6767
; CHECK-NEXT: 9 AtomicCompareExchange [[int]] [[Result:[0-9]+]] [[Pointer]] [[DeviceScope]] [[SequentiallyConsistent_MS]] [[SequentiallyConsistent_MS]] [[Value]] [[ComparatorWeak]]
6868
; CHECK-NEXT: Store [[exp]] [[Result]]
6969
; CHECK-NEXT: IEqual [[bool]] [[CallRes:[0-9]+]] [[Result]] [[ComparatorWeak]]
7070
; CHECK-NOT: [[Result]]
7171

7272
%frombool3 = zext i1 %call2 to i8
73-
store i8 %frombool3, i8* %weak_res, align 1
74-
%7 = load i8, i8* %weak_res, align 1
73+
store i8 %frombool3, ptr %weak_res, align 1
74+
%7 = load i8, ptr %weak_res, align 1
7575
%tobool4 = trunc i8 %7 to i1
7676
%lnot5 = xor i1 %tobool4, true
7777
%frombool6 = zext i1 %lnot5 to i8
78-
store i8 %frombool6, i8* %res, align 1
78+
store i8 %frombool6, ptr %res, align 1
7979
ret void
8080
}
8181

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

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

8686
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" }
8787
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/EnqueueEmptyKernel.ll

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -36,38 +36,37 @@ target triple = "spir64-unknown-unknown"
3636
define spir_kernel void @test_enqueue_empty() #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 {
3737
entry:
3838
%tmp = alloca %struct.ndrange_t, align 8
39-
%call = call spir_func %opencl.queue_t* @_Z17get_default_queuev() #4
40-
call spir_func void @_Z10ndrange_1Dm(%struct.ndrange_t* sret(%struct.ndrange_t) %tmp, i64 1) #4
41-
%0 = call i32 @__enqueue_kernel_basic_events(%opencl.queue_t* %call, i32 1, %struct.ndrange_t* %tmp, i32 0, %opencl.clk_event_t* addrspace(4)* null, %opencl.clk_event_t* addrspace(4)* null, i8 addrspace(4)* addrspacecast (i8* bitcast (void (i8 addrspace(4)*)* @__test_enqueue_empty_block_invoke_kernel to i8*) to i8 addrspace(4)*), i8 addrspace(4)* addrspacecast (i8 addrspace(1)* bitcast ({ i32, i32 } addrspace(1)* @__block_literal_global to i8 addrspace(1)*) to i8 addrspace(4)*))
39+
%call = call spir_func ptr @_Z17get_default_queuev() #4
40+
call spir_func void @_Z10ndrange_1Dm(ptr sret(%struct.ndrange_t) %tmp, i64 1) #4
41+
%0 = call i32 @__enqueue_kernel_basic_events(ptr %call, i32 1, ptr %tmp, i32 0, ptr addrspace(4) null, ptr addrspace(4) null, ptr addrspace(4) addrspacecast (ptr @__test_enqueue_empty_block_invoke_kernel to ptr addrspace(4)), ptr addrspace(4) addrspacecast (ptr addrspace(1) @__block_literal_global to ptr addrspace(4)))
4242
ret void
4343
; CHECK-SPIRV: PtrCastToGeneric {{[0-9]+}} [[GenBlock:[0-9]+]] [[Block]]
4444
; CHECK-SPIRV: Bitcast [[Int8PtrGen]] [[Int8PtrGenBlock:[0-9]+]] [[GenBlock]]
4545
; CHECK-SPIRV: EnqueueKernel {{[0-9]+}} {{[0-9]+}} {{[0-9]+}} {{[0-9]+}} {{[0-9]+}} {{[0-9]+}} {{[0-9]+}} {{[0-9]+}} [[Invoke:[0-9]+]] [[Int8PtrGenBlock]] {{[0-9]+}} {{[0-9]+}}
4646
}
4747

4848
; Function Attrs: convergent
49-
declare spir_func %opencl.queue_t* @_Z17get_default_queuev() #1
49+
declare spir_func ptr @_Z17get_default_queuev() #1
5050

5151
; Function Attrs: convergent
52-
declare spir_func void @_Z10ndrange_1Dm(%struct.ndrange_t* sret(%struct.ndrange_t), i64) #1
52+
declare spir_func void @_Z10ndrange_1Dm(ptr sret(%struct.ndrange_t), i64) #1
5353

5454
; Function Attrs: convergent nounwind
55-
define internal spir_func void @__test_enqueue_empty_block_invoke(i8 addrspace(4)* %.block_descriptor) #2 {
55+
define internal spir_func void @__test_enqueue_empty_block_invoke(ptr addrspace(4) %.block_descriptor) #2 {
5656
entry:
57-
%.block_descriptor.addr = alloca i8 addrspace(4)*, align 8
58-
store i8 addrspace(4)* %.block_descriptor, i8 addrspace(4)** %.block_descriptor.addr, align 8
59-
%block = bitcast i8 addrspace(4)* %.block_descriptor to <{ i32, i32 }> addrspace(4)*
57+
%.block_descriptor.addr = alloca ptr addrspace(4), align 8
58+
store ptr addrspace(4) %.block_descriptor, ptr %.block_descriptor.addr, align 8
6059
ret void
6160
}
6261

6362
; Function Attrs: nounwind
64-
define internal spir_kernel void @__test_enqueue_empty_block_invoke_kernel(i8 addrspace(4)*) #3 {
63+
define internal spir_kernel void @__test_enqueue_empty_block_invoke_kernel(ptr addrspace(4)) #3 {
6564
entry:
66-
call void @__test_enqueue_empty_block_invoke(i8 addrspace(4)* %0)
65+
call void @__test_enqueue_empty_block_invoke(ptr addrspace(4) %0)
6766
ret void
6867
}
6968

70-
declare i32 @__enqueue_kernel_basic_events(%opencl.queue_t*, i32, %struct.ndrange_t*, i32, %opencl.clk_event_t* addrspace(4)*, %opencl.clk_event_t* addrspace(4)*, i8 addrspace(4)*, i8 addrspace(4)*)
69+
declare i32 @__enqueue_kernel_basic_events(ptr, i32, ptr, i32, ptr addrspace(4), ptr addrspace(4), ptr addrspace(4), ptr addrspace(4))
7170

7271
; CHECK-SPIRV: Function [[Void]] [[Invoke]] {{[0-9]+}} {{[0-9]+}}
7372
; CHECK-SPIRV-NEXT: FunctionParameter [[Int8PtrGen]] {{[0-9]+}}

llvm-spirv/test/ExecutionMode.ll

Lines changed: 34 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -26,37 +26,37 @@ target triple = "spir-unknown-unknown"
2626
; Function Attrs: nounwind
2727
define internal spir_func void @__cxx_global_var_init() #0 {
2828
entry:
29-
call spir_func void @_ZNU3AS416global_ctor_dtorC1Ei(%struct.global_ctor_dtor addrspace(4)* addrspacecast (%struct.global_ctor_dtor addrspace(1)* @g to %struct.global_ctor_dtor addrspace(4)*), i32 12)
29+
call spir_func void @_ZNU3AS416global_ctor_dtorC1Ei(ptr addrspace(4) addrspacecast (ptr addrspace(1) @g to ptr addrspace(4)), i32 12)
3030
ret void
3131
}
3232

3333
; Function Attrs: nounwind
34-
define linkonce_odr spir_func void @_ZNU3AS416global_ctor_dtorC1Ei(%struct.global_ctor_dtor addrspace(4)* %this, i32 %i) unnamed_addr #1 align 2 {
34+
define linkonce_odr spir_func void @_ZNU3AS416global_ctor_dtorC1Ei(ptr addrspace(4) %this, i32 %i) unnamed_addr #1 align 2 {
3535
entry:
36-
%this.addr = alloca %struct.global_ctor_dtor addrspace(4)*, align 4
36+
%this.addr = alloca ptr addrspace(4), align 4
3737
%i.addr = alloca i32, align 4
38-
store %struct.global_ctor_dtor addrspace(4)* %this, %struct.global_ctor_dtor addrspace(4)** %this.addr, align 4
39-
store i32 %i, i32* %i.addr, align 4
40-
%this1 = load %struct.global_ctor_dtor addrspace(4)*, %struct.global_ctor_dtor addrspace(4)** %this.addr
41-
%0 = load i32, i32* %i.addr, align 4
42-
call spir_func void @_ZNU3AS416global_ctor_dtorC2Ei(%struct.global_ctor_dtor addrspace(4)* %this1, i32 %0)
38+
store ptr addrspace(4) %this, ptr %this.addr, align 4
39+
store i32 %i, ptr %i.addr, align 4
40+
%this1 = load ptr addrspace(4), ptr %this.addr
41+
%0 = load i32, ptr %i.addr, align 4
42+
call spir_func void @_ZNU3AS416global_ctor_dtorC2Ei(ptr addrspace(4) %this1, i32 %0)
4343
ret void
4444
}
4545

4646
; Function Attrs: nounwind
47-
define linkonce_odr spir_func void @_ZNU3AS416global_ctor_dtorD1Ev(%struct.global_ctor_dtor addrspace(4)* %this) unnamed_addr #1 align 2 {
47+
define linkonce_odr spir_func void @_ZNU3AS416global_ctor_dtorD1Ev(ptr addrspace(4) %this) unnamed_addr #1 align 2 {
4848
entry:
49-
%this.addr = alloca %struct.global_ctor_dtor addrspace(4)*, align 4
50-
store %struct.global_ctor_dtor addrspace(4)* %this, %struct.global_ctor_dtor addrspace(4)** %this.addr, align 4
51-
%this1 = load %struct.global_ctor_dtor addrspace(4)*, %struct.global_ctor_dtor addrspace(4)** %this.addr
52-
call spir_func void @_ZNU3AS416global_ctor_dtorD2Ev(%struct.global_ctor_dtor addrspace(4)* %this1) #0
49+
%this.addr = alloca ptr addrspace(4), align 4
50+
store ptr addrspace(4) %this, ptr %this.addr, align 4
51+
%this1 = load ptr addrspace(4), ptr %this.addr
52+
call spir_func void @_ZNU3AS416global_ctor_dtorD2Ev(ptr addrspace(4) %this1) #0
5353
ret void
5454
}
5555

5656
; Function Attrs: nounwind
5757
define internal spir_func void @__dtor_g() #0 {
5858
entry:
59-
call spir_func void @_ZNU3AS416global_ctor_dtorD1Ev(%struct.global_ctor_dtor addrspace(4)* addrspacecast (%struct.global_ctor_dtor addrspace(1)* @g to %struct.global_ctor_dtor addrspace(4)*))
59+
call spir_func void @_ZNU3AS416global_ctor_dtorD1Ev(ptr addrspace(4) addrspacecast (ptr addrspace(1) @g to ptr addrspace(4)))
6060
ret void
6161
}
6262

@@ -69,27 +69,25 @@ entry:
6969
}
7070

7171
; Function Attrs: nounwind
72-
define linkonce_odr spir_func void @_ZNU3AS416global_ctor_dtorD2Ev(%struct.global_ctor_dtor addrspace(4)* %this) unnamed_addr #1 align 2 {
72+
define linkonce_odr spir_func void @_ZNU3AS416global_ctor_dtorD2Ev(ptr addrspace(4) %this) unnamed_addr #1 align 2 {
7373
entry:
74-
%this.addr = alloca %struct.global_ctor_dtor addrspace(4)*, align 4
75-
store %struct.global_ctor_dtor addrspace(4)* %this, %struct.global_ctor_dtor addrspace(4)** %this.addr, align 4
76-
%this1 = load %struct.global_ctor_dtor addrspace(4)*, %struct.global_ctor_dtor addrspace(4)** %this.addr
77-
%a = getelementptr inbounds %struct.global_ctor_dtor, %struct.global_ctor_dtor addrspace(4)* %this1, i32 0, i32 0
78-
store i32 0, i32 addrspace(4)* %a, align 4
74+
%this.addr = alloca ptr addrspace(4), align 4
75+
store ptr addrspace(4) %this, ptr %this.addr, align 4
76+
%this1 = load ptr addrspace(4), ptr %this.addr
77+
store i32 0, ptr addrspace(4) %this1, align 4
7978
ret void
8079
}
8180

8281
; Function Attrs: nounwind
83-
define linkonce_odr spir_func void @_ZNU3AS416global_ctor_dtorC2Ei(%struct.global_ctor_dtor addrspace(4)* %this, i32 %i) unnamed_addr #1 align 2 {
82+
define linkonce_odr spir_func void @_ZNU3AS416global_ctor_dtorC2Ei(ptr addrspace(4) %this, i32 %i) unnamed_addr #1 align 2 {
8483
entry:
85-
%this.addr = alloca %struct.global_ctor_dtor addrspace(4)*, align 4
84+
%this.addr = alloca ptr addrspace(4), align 4
8685
%i.addr = alloca i32, align 4
87-
store %struct.global_ctor_dtor addrspace(4)* %this, %struct.global_ctor_dtor addrspace(4)** %this.addr, align 4
88-
store i32 %i, i32* %i.addr, align 4
89-
%this1 = load %struct.global_ctor_dtor addrspace(4)*, %struct.global_ctor_dtor addrspace(4)** %this.addr
90-
%0 = load i32, i32* %i.addr, align 4
91-
%a = getelementptr inbounds %struct.global_ctor_dtor, %struct.global_ctor_dtor addrspace(4)* %this1, i32 0, i32 0
92-
store i32 %0, i32 addrspace(4)* %a, align 4
86+
store ptr addrspace(4) %this, ptr %this.addr, align 4
87+
store i32 %i, ptr %i.addr, align 4
88+
%this1 = load ptr addrspace(4), ptr %this.addr
89+
%0 = load i32, ptr %i.addr, align 4
90+
store i32 %0, ptr addrspace(4) %this1, align 4
9391
ret void
9492
}
9593

@@ -132,14 +130,14 @@ attributes #2 = { noinline nounwind }
132130
!llvm.ident = !{!11}
133131
!spirv.Source = !{!12}
134132

135-
!0 = !{void ()* @worker, i32 30, i32 262149}
136-
!1 = !{void ()* @worker, i32 18, i32 12, i32 10, i32 1}
137-
!2 = !{void ()* @worker, i32 17, i32 10, i32 10, i32 10}
138-
!3 = !{void ()* @worker, i32 36, i32 4}
139-
!4 = !{void ()* @_SPIRV_GLOBAL__I_45b04794_Test_attr.cl, i32 33}
140-
!5 = !{void ()* @_SPIRV_GLOBAL__I_45b04794_Test_attr.cl, i32 17, i32 1, i32 1, i32 1}
141-
!6 = !{void ()* @_SPIRV_GLOBAL__D_45b04794_Test_attr.cl, i32 34}
142-
!7 = !{void ()* @_SPIRV_GLOBAL__D_45b04794_Test_attr.cl, i32 17, i32 1, i32 1, i32 1}
133+
!0 = !{ptr @worker, i32 30, i32 262149}
134+
!1 = !{ptr @worker, i32 18, i32 12, i32 10, i32 1}
135+
!2 = !{ptr @worker, i32 17, i32 10, i32 10, i32 10}
136+
!3 = !{ptr @worker, i32 36, i32 4}
137+
!4 = !{ptr @_SPIRV_GLOBAL__I_45b04794_Test_attr.cl, i32 33}
138+
!5 = !{ptr @_SPIRV_GLOBAL__I_45b04794_Test_attr.cl, i32 17, i32 1, i32 1, i32 1}
139+
!6 = !{ptr @_SPIRV_GLOBAL__D_45b04794_Test_attr.cl, i32 34}
140+
!7 = !{ptr @_SPIRV_GLOBAL__D_45b04794_Test_attr.cl, i32 17, i32 1, i32 1, i32 1}
143141
!8 = !{i32 1, i32 2}
144142
!9 = !{i32 2, i32 2}
145143
!10 = !{}

llvm-spirv/test/ExtendBitBoolArg.ll

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,12 @@ define linkonce_odr dso_local spir_func void @foo(<2 x i1> %vec1, <2 x i1> %vec2
3434
%3 = addrspacecast ptr %1 to ptr addrspace(4)
3535
%4 = addrspacecast ptr %2 to ptr addrspace(4)
3636
%5 = load ptr addrspace(4), ptr addrspace(4) %3, align 8
37-
%6 = getelementptr inbounds %"class.ac", ptr addrspace(4) %5, i32 0, i32 0
38-
%7 = load i1, ptr addrspace(4) %6, align 1
39-
%8 = load i32, ptr addrspace(4) %4, align 4
40-
%9 = trunc i32 %8 to i1
41-
%10 = lshr i1 %7, %9
42-
%11 = zext i1 %10 to i32
43-
%12 = and i32 %11, 1
44-
%13 = lshr <2 x i1> %vec1, %vec2
37+
%6 = load i1, ptr addrspace(4) %5, align 1
38+
%7 = load i32, ptr addrspace(4) %4, align 4
39+
%8 = trunc i32 %7 to i1
40+
%9 = lshr i1 %6, %8
41+
%10 = zext i1 %9 to i32
42+
%11 = and i32 %10, 1
43+
%12 = lshr <2 x i1> %vec1, %vec2
4544
ret void
4645
}

llvm-spirv/test/RelativeSrcPath.ll

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,20 +17,18 @@ target datalayout = "e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:2
1717
target triple = "spir"
1818

1919
; Function Attrs: convergent noinline nounwind optnone
20-
define spir_kernel void @foo(i32 addrspace(1)* %a, i32 addrspace(1)* %b) #0 !dbg !8 !kernel_arg_addr_space !11 !kernel_arg_access_qual !12 !kernel_arg_type !13 !kernel_arg_base_type !13 !kernel_arg_type_qual !14 {
20+
define spir_kernel void @foo(ptr addrspace(1) %a, ptr addrspace(1) %b) #0 !dbg !8 !kernel_arg_addr_space !11 !kernel_arg_access_qual !12 !kernel_arg_type !13 !kernel_arg_base_type !13 !kernel_arg_type_qual !14 {
2121
entry:
22-
%a.addr = alloca i32 addrspace(1)*, align 4
23-
%b.addr = alloca i32 addrspace(1)*, align 4
24-
store i32 addrspace(1)* %a, i32 addrspace(1)** %a.addr, align 4
25-
store i32 addrspace(1)* %b, i32 addrspace(1)** %b.addr, align 4
26-
%0 = load i32 addrspace(1)*, i32 addrspace(1)** %b.addr, align 4, !dbg !15
27-
%arrayidx = getelementptr inbounds i32, i32 addrspace(1)* %0, i32 0, !dbg !15
28-
%1 = load i32, i32 addrspace(1)* %arrayidx, align 4, !dbg !15
29-
%2 = load i32 addrspace(1)*, i32 addrspace(1)** %a.addr, align 4, !dbg !15
30-
%arrayidx1 = getelementptr inbounds i32, i32 addrspace(1)* %2, i32 0, !dbg !15
31-
%3 = load i32, i32 addrspace(1)* %arrayidx1, align 4, !dbg !15
22+
%a.addr = alloca ptr addrspace(1), align 4
23+
%b.addr = alloca ptr addrspace(1), align 4
24+
store ptr addrspace(1) %a, ptr %a.addr, align 4
25+
store ptr addrspace(1) %b, ptr %b.addr, align 4
26+
%0 = load ptr addrspace(1), ptr %b.addr, align 4, !dbg !15
27+
%1 = load i32, ptr addrspace(1) %0, align 4, !dbg !15
28+
%2 = load ptr addrspace(1), ptr %a.addr, align 4, !dbg !15
29+
%3 = load i32, ptr addrspace(1) %2, align 4, !dbg !15
3230
%add = add nsw i32 %3, %1, !dbg !15
33-
store i32 %add, i32 addrspace(1)* %arrayidx1, align 4, !dbg !15
31+
store i32 %add, ptr addrspace(1) %2, align 4, !dbg !15
3432
ret void, !dbg !16
3533
}
3634

llvm-spirv/test/SPIRVVersionAutodetect_1_1.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ attributes #0 = { nounwind "less-precise-fpmad"="false" "no-frame-pointer-elim"=
2828
!llvm.ident = !{!9}
2929
!spirv.Source = !{!10}
3030

31-
!0 = !{void ()* @worker, i32 33}
31+
!0 = !{ptr @worker, i32 33}
3232
!6 = !{i32 1, i32 2}
3333
!7 = !{i32 2, i32 2}
3434
!8 = !{}

0 commit comments

Comments
 (0)