Skip to content

Commit

Permalink
[NFC] Re-organize tests a bit (KhronosGroup#780)
Browse files Browse the repository at this point in the history
Moved all tests for llvm intrinsics into a separate folder
Moved some negative tests into corresponding directory
  • Loading branch information
AlexeySachkov authored Oct 21, 2020
1 parent b5d9445 commit 35c423e
Show file tree
Hide file tree
Showing 32 changed files with 59 additions and 85 deletions.
3 changes: 0 additions & 3 deletions test/check_empty_file.ll

This file was deleted.

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
34 changes: 34 additions & 0 deletions test/llvm-intrinsics/ctlz.ll
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
; RUN: llvm-as %s -o %t.bc
; RUN: llvm-spirv %t.bc -spirv-text -o - | FileCheck %s
; RUN: llvm-spirv %t.bc -o %t.spv
; RUN: spirv-val %t.spv

target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024"
target triple = "spir64-unknown-unknown"

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

; CHECK: Function
; CHECK: 6 ExtInst {{[0-9]+}} {{[0-9]+}} [[extinst_id]] clz
; CHECK: FunctionEnd

; Function Attrs: nounwind readnone
define spir_func i32 @TestClz(i32 %x) local_unnamed_addr #0 {
entry:
%0 = tail call i32 @llvm.ctlz.i32(i32 %x, i1 true)
ret i32 %0
}

; Function Attrs: nounwind readnone speculatable willreturn
declare i32 @llvm.ctlz.i32(i32, i1 immarg) #1

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" }
attributes #1 = { nounwind readnone speculatable willreturn }

!llvm.module.flags = !{!0}
!opencl.ocl.version = !{!1}
!opencl.spir.version = !{!2}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 1, i32 0}
!2 = !{i32 1, i32 2}
File renamed without changes.
14 changes: 0 additions & 14 deletions test/count-zero-bits.ll → test/llvm-intrinsics/cttz.ll
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,6 @@ target triple = "spir64-unknown-unknown"

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

; CHECK: Function
; CHECK: 6 ExtInst {{[0-9]+}} {{[0-9]+}} [[extinst_id]] clz
; CHECK: FunctionEnd

; Function Attrs: nounwind readnone
define spir_func i32 @TestClz(i32 %x) local_unnamed_addr #0 {
entry:
%0 = tail call i32 @llvm.ctlz.i32(i32 %x, i1 true)
ret i32 %0
}

; CHECK: Function
; CHECK: 6 ExtInst {{[0-9]+}} {{[0-9]+}} [[extinst_id]] ctz
; CHECK: FunctionEnd
Expand All @@ -41,9 +30,6 @@ entry:
ret <4 x i32> %0
}

; Function Attrs: nounwind readnone speculatable willreturn
declare i32 @llvm.ctlz.i32(i32, i1 immarg) #1

; Function Attrs: nounwind readnone speculatable willreturn
declare i32 @llvm.cttz.i32(i32, i1 immarg) #1

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
22 changes: 22 additions & 0 deletions test/transcoding/lifetime.ll → test/llvm-intrinsics/lifetime.ll
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024"
target triple = "spir64-unknown-unknown"

%class.anon = type { i8 }

; Function Attrs: nounwind
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 {
%1 = alloca i32
Expand All @@ -40,6 +42,26 @@ define spir_kernel void @lifetime_simple(i32 addrspace(1)* nocapture %res, i32 a
ret void
}

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 {
entry:
%0 = alloca %class.anon, align 1
%1 = bitcast %class.anon* %0 to i8*
call void @llvm.lifetime.start.p0i8(i64 1, i8* %1) #0
call spir_func void @foo(%class.anon* %0)
%2 = bitcast %class.anon* %0 to i8*
call void @llvm.lifetime.end.p0i8(i64 1, i8* %2) #0
ret void
}

; Function Attrs: inlinehint nounwind
define internal spir_func void @foo(%class.anon* %this) #0 align 2 {
entry:
%this.addr = alloca %class.anon*, align 8
store %class.anon* %this, %class.anon** %this.addr, align 8
%this1 = load %class.anon*, %class.anon** %this.addr, align 8
ret void
}

; Function Attrs: nounwind
declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture) #0

Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
3 changes: 3 additions & 0 deletions test/negative/check-empty-file.ll
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
; RUN: not llvm-spirv %S/empty-file.bc -o - 2>&1 | FileCheck %s

; CHECK: Can't translate, file is empty
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
68 changes: 0 additions & 68 deletions test/transcoding/lifetime-sized.ll

This file was deleted.

0 comments on commit 35c423e

Please sign in to comment.