Skip to content

Commit c922f75

Browse files
AlexeySachkovvladimirlaz
authored andcommitted
Re-organize tests a bit (#780)
Moved all tests for llvm intrinsics into a separate folder Moved some negative tests into corresponding directory
1 parent fdf475d commit c922f75

32 files changed

+59
-85
lines changed

llvm-spirv/test/check_empty_file.ll

Lines changed: 0 additions & 3 deletions
This file was deleted.
File renamed without changes.
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
; RUN: llvm-as %s -o %t.bc
2+
; RUN: llvm-spirv %t.bc -spirv-text -o - | FileCheck %s
3+
; RUN: llvm-spirv %t.bc -o %t.spv
4+
; RUN: spirv-val %t.spv
5+
6+
target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024"
7+
target triple = "spir64-unknown-unknown"
8+
9+
; CHECK: ExtInstImport [[extinst_id:[0-9]+]] "OpenCL.std"
10+
11+
; CHECK: Function
12+
; CHECK: 6 ExtInst {{[0-9]+}} {{[0-9]+}} [[extinst_id]] clz
13+
; CHECK: FunctionEnd
14+
15+
; Function Attrs: nounwind readnone
16+
define spir_func i32 @TestClz(i32 %x) local_unnamed_addr #0 {
17+
entry:
18+
%0 = tail call i32 @llvm.ctlz.i32(i32 %x, i1 true)
19+
ret i32 %0
20+
}
21+
22+
; Function Attrs: nounwind readnone speculatable willreturn
23+
declare i32 @llvm.ctlz.i32(i32, i1 immarg) #1
24+
25+
attributes #0 = { nounwind readnone "correctly-rounded-divide-sqrt-fp-math"="false" "denorms-are-zero"="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"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
26+
attributes #1 = { nounwind readnone speculatable willreturn }
27+
28+
!llvm.module.flags = !{!0}
29+
!opencl.ocl.version = !{!1}
30+
!opencl.spir.version = !{!2}
31+
32+
!0 = !{i32 1, !"wchar_size", i32 4}
33+
!1 = !{i32 1, i32 0}
34+
!2 = !{i32 1, i32 2}
File renamed without changes.

llvm-spirv/test/count-zero-bits.ll renamed to llvm-spirv/test/llvm-intrinsics/cttz.ll

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,6 @@ target triple = "spir64-unknown-unknown"
88

99
; CHECK: ExtInstImport [[extinst_id:[0-9]+]] "OpenCL.std"
1010

11-
; CHECK: Function
12-
; CHECK: 6 ExtInst {{[0-9]+}} {{[0-9]+}} [[extinst_id]] clz
13-
; CHECK: FunctionEnd
14-
15-
; Function Attrs: nounwind readnone
16-
define spir_func i32 @TestClz(i32 %x) local_unnamed_addr #0 {
17-
entry:
18-
%0 = tail call i32 @llvm.ctlz.i32(i32 %x, i1 true)
19-
ret i32 %0
20-
}
21-
2211
; CHECK: Function
2312
; CHECK: 6 ExtInst {{[0-9]+}} {{[0-9]+}} [[extinst_id]] ctz
2413
; CHECK: FunctionEnd
@@ -41,9 +30,6 @@ entry:
4130
ret <4 x i32> %0
4231
}
4332

44-
; Function Attrs: nounwind readnone speculatable willreturn
45-
declare i32 @llvm.ctlz.i32(i32, i1 immarg) #1
46-
4733
; Function Attrs: nounwind readnone speculatable willreturn
4834
declare i32 @llvm.cttz.i32(i32, i1 immarg) #1
4935

llvm-spirv/test/transcoding/lifetime.ll renamed to llvm-spirv/test/llvm-intrinsics/lifetime.ll

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024"
2020
target triple = "spir64-unknown-unknown"
2121

22+
%class.anon = type { i8 }
23+
2224
; Function Attrs: nounwind
2325
define spir_kernel void @lifetime_simple(i32 addrspace(1)* nocapture %res, i32 addrspace(1)* nocapture %lhs, i32 addrspace(1)* nocapture %rhs) #0 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3 !kernel_arg_base_type !5 !kernel_arg_type_qual !4 {
2426
%1 = alloca i32
@@ -40,6 +42,26 @@ define spir_kernel void @lifetime_simple(i32 addrspace(1)* nocapture %res, i32 a
4042
ret void
4143
}
4244

45+
define spir_kernel void @lifetime_sized() #0 !kernel_arg_addr_space !8 !kernel_arg_access_qual !8 !kernel_arg_type !8 !kernel_arg_base_type !8 !kernel_arg_type_qual !8 {
46+
entry:
47+
%0 = alloca %class.anon, align 1
48+
%1 = bitcast %class.anon* %0 to i8*
49+
call void @llvm.lifetime.start.p0i8(i64 1, i8* %1) #0
50+
call spir_func void @foo(%class.anon* %0)
51+
%2 = bitcast %class.anon* %0 to i8*
52+
call void @llvm.lifetime.end.p0i8(i64 1, i8* %2) #0
53+
ret void
54+
}
55+
56+
; Function Attrs: inlinehint nounwind
57+
define internal spir_func void @foo(%class.anon* %this) #0 align 2 {
58+
entry:
59+
%this.addr = alloca %class.anon*, align 8
60+
store %class.anon* %this, %class.anon** %this.addr, align 8
61+
%this1 = load %class.anon*, %class.anon** %this.addr, align 8
62+
ret void
63+
}
64+
4365
; Function Attrs: nounwind
4466
declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture) #0
4567

File renamed without changes.
File renamed without changes.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
; RUN: not llvm-spirv %S/empty-file.bc -o - 2>&1 | FileCheck %s
2+
3+
; CHECK: Can't translate, file is empty

llvm-spirv/test/transcoding/lifetime-sized.ll

Lines changed: 0 additions & 68 deletions
This file was deleted.

0 commit comments

Comments
 (0)