[flang-commits] [flang] [flang][OpenMP] Extend `do concurrent` mapping to device (PR #155987)
Kareem Ergawy via flang-commits
flang-commits at lists.llvm.org
Wed Sep 10 05:30:19 PDT 2025
================
@@ -0,0 +1,35 @@
+! Tests that when a loop bound is used in the body, that the mapped version of
+! the loop bound (rather than the host-eval one) is the one used inside the loop.
+
+! RUN: %flang_fc1 -emit-hlfir -fopenmp -fdo-concurrent-to-openmp=device %s -o - \
+! RUN: | FileCheck %s
+! RUN: bbc -emit-hlfir -fopenmp -fdo-concurrent-to-openmp=device %s -o - \
+! RUN: | FileCheck %s
+
+subroutine foo(a, n)
+ implicit none
+ integer :: i, n
+ real, dimension(n) :: a
+
+ do concurrent (i=1:n)
+ a(i) = n
+ end do
+end subroutine
+
+! CHECK: omp.target host_eval(%{{.*}} -> %{{.*}}, %{{.*}} -> %[[N_HOST_EVAL:.*]], %{{.*}} -> %{{.*}} : {{.*}}) map_entries({{.*}}) {
+! CHECK: %[[N_MAPPED:.*]]:2 = hlfir.declare %arg{{.*}} {uniq_name = "_QFfooEn"}
----------------
ergawy wrote:
Done.
https://github.com/llvm/llvm-project/pull/155987
More information about the flang-commits
mailing list