brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · 6973657 Raw
70 lines · plain
1! Offloading test checking interaction of mapping a declare target link common2! block with device_type any to a target region3! REQUIRES: flang, amdgcn-amd-amdhsa4! UNSUPPORTED: nvptx64-nvidia-cuda5! UNSUPPORTED: nvptx64-nvidia-cuda-LTO6! UNSUPPORTED: aarch64-unknown-linux-gnu7! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO8! UNSUPPORTED: x86_64-unknown-linux-gnu9! UNSUPPORTED: x86_64-unknown-linux-gnu-LTO10 11! RUN: %libomptarget-compile-fortran-run-and-check-generic12program main13    implicit none14    common /var_common/ var1, var2, var315    integer :: var1, var2, var316    !$omp declare target link(/var_common/)17 18    call modify_119 20  !$omp target map(tofrom: var2)21    var2 = var2 + var322  !$omp end target23 24  call modify_225  call modify_326 27  print *, var128  print *, var229  print *, var330end program31 32subroutine modify_133  common /var_common/ var1, var2, var334  integer :: var1, var2, var335 36!$omp target map(tofrom: /var_common/)37  var1 = 1038  var2 = 2039  var3 = 3040!$omp end target41 42end43 44subroutine modify_245  common /var_common/ var1, var2, var346  integer :: var1, var2, var347  integer :: copy48 49!$omp target map(tofrom: copy)50  copy =  var2 + var351!$omp end target52 53  print *, copy54end55 56subroutine modify_357  common /var_common/ var1, var2, var358  integer :: var1, var2, var359 60!$omp target map(tofrom: /var_common/)61  var1 = var1 + var162  var2 = var2 + var263  var3 = var3 + var364!$omp end target65end66 67!CHECK: 8068!CHECK: 2069!CHECK: 10070!CHECK: 60