blob: da034adec39c48c5cd11e076fef0eeecf678ab82 [file] [edit]
! RUN: bbc -fopenacc -fcuda -emit-hlfir %s -o - | FileCheck %s
module m
interface doit
subroutine __device_sub(a)
real(4), device, intent(in) :: a(:,:,:)
!dir$ ignore_tkr(c) a
end
subroutine __host_sub(a)
real(4), intent(in) :: a(:,:,:)
!dir$ ignore_tkr(c) a
end
end interface
end module
program testex1
integer, parameter :: ntimes = 10
integer, parameter :: ni=128
integer, parameter :: nj=256
integer, parameter :: nk=64
real(4), dimension(ni,nj,nk) :: a
!$acc enter data copyin(a)
block; use m
!$acc host_data use_device(a)
do nt = 1, ntimes
call doit(a)
end do
!$acc end host_data
end block
block; use m
do nt = 1, ntimes
call doit(a)
end do
end block
end
! CHECK: fir.call @_QP__device_sub
! CHECK: fir.call @_QP__host_sub