Skip to content

Commit

Permalink
Merge from 'master' to 'xmain-web' (KhronosGroup#28)
Browse files Browse the repository at this point in the history
  • Loading branch information
iclsrc committed Oct 28, 2020
2 parents 135755e + 35c423e commit ea1dc4f
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 ea1dc4f

Please sign in to comment.