[flang-commits] [flang] [flang][cuda][openacc] use the ultimate symbol to set the implicit device attribute (PR #192553)
via flang-commits
flang-commits at lists.llvm.org
Thu Apr 16 14:46:01 PDT 2026
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-openacc
Author: Valentin Clement (バレンタイン クレメン) (clementval)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/192553.diff
2 Files Affected:
- (modified) flang/lib/Semantics/resolve-names.cpp (+1-1)
- (modified) flang/test/Lower/OpenACC/acc-host-data-cuda-device.f90 (+11)
``````````diff
diff --git a/flang/lib/Semantics/resolve-names.cpp b/flang/lib/Semantics/resolve-names.cpp
index a554174b7d30a..9ef8b183dd061 100644
--- a/flang/lib/Semantics/resolve-names.cpp
+++ b/flang/lib/Semantics/resolve-names.cpp
@@ -1513,7 +1513,7 @@ void AccVisitor::CopySymbolWithDevice(const parser::Name *name) {
name && name->symbol) {
if (Symbol * copy{currScope().CopySymbol(*name->symbol)}) {
name->symbol = copy;
- if (auto *object{copy->detailsIf<ObjectEntityDetails>()}) {
+ if (auto *object{copy->GetUltimate().detailsIf<ObjectEntityDetails>()}) {
object->set_cudaDataAttr(common::CUDADataAttr::Device);
}
}
diff --git a/flang/test/Lower/OpenACC/acc-host-data-cuda-device.f90 b/flang/test/Lower/OpenACC/acc-host-data-cuda-device.f90
index cc301617444ac..0fb3f924f337e 100644
--- a/flang/test/Lower/OpenACC/acc-host-data-cuda-device.f90
+++ b/flang/test/Lower/OpenACC/acc-host-data-cuda-device.f90
@@ -3,6 +3,8 @@
module m
+real, allocatable, pinned :: pinned_real(:,:,:)
+
interface doit
subroutine __device_sub(a)
real(4), device, intent(in) :: a(:,:,:)
@@ -78,3 +80,12 @@ program testex1
! CHECK: fir.call @_QP__host_sub
! CHECK: fir.call @_QP__device_sub
! CHECK: fir.call @_QP__device_sub
+
+subroutine test_use_details()
+ use m
+ !$acc host_data use_device(pinned_real)
+ call doit(pinned_real)
+ !$acc end host_data
+end subroutine
+
+! CHECK: fir.address_of(@_QP__device_sub)
``````````
</details>
https://github.com/llvm/llvm-project/pull/192553
More information about the flang-commits
mailing list