Skip to content

Commit 5e1a54b

Browse files
authored
[flang][cuda][NFC] Add more descriptor inquiry tests for data transfer (llvm#108094)
Make sure there is no data transfer generated when a device variable is used in these intrinsic functions.
1 parent 0f06f70 commit 5e1a54b

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

flang/test/Lower/CUDA/cuda-data-transfer.cuf

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -354,12 +354,23 @@ end subroutine
354354
! CHECK: cuf.kernel<<<*, *>>>
355355
! CHECK-NOT: cuf.data_transfer
356356

357-
subroutine sub18()
357+
subroutine sub18(o)
358+
integer, device, optional, allocatable :: o(:)
358359
integer, device, allocatable :: a(:)
359-
integer :: isz
360-
361-
isz = size(a)
360+
integer, device, pointer :: p(:)
361+
integer :: b
362+
integer :: s(1)
363+
logical :: l
364+
365+
b = size(a)
366+
b = lbound(a, dim=1)
367+
b = ubound(a, dim=1)
368+
s = shape(a)
369+
l = allocated(a)
370+
l = associated(p)
371+
b = kind(a)
372+
l = present(o)
362373
end subroutine
363374

364-
! CHECK-LABEL: func.func @_QPsub18()
375+
! CHECK-LABEL: func.func @_QPsub18
365376
! CHECK-NOT: cuf.data_transfer

0 commit comments

Comments
 (0)