From 421f08b78a81f6345256d7c17febb39de6cf3516 Mon Sep 17 00:00:00 2001 From: Valentin Clement Date: Tue, 10 Sep 2024 13:23:52 -0700 Subject: [PATCH] [flang][cuf] Avoid generating data transfer when calling size intrinsic --- flang/lib/Evaluate/tools.cpp | 3 +++ flang/test/Lower/CUDA/cuda-data-transfer.cuf | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/flang/lib/Evaluate/tools.cpp b/flang/lib/Evaluate/tools.cpp index 6b3db619c1e2f..400f27aef98da 100644 --- a/flang/lib/Evaluate/tools.cpp +++ b/flang/lib/Evaluate/tools.cpp @@ -1011,6 +1011,9 @@ struct CollectCudaSymbolsHelper : public SetTraverse>> ! CHECK-NOT: cuf.data_transfer + +subroutine sub18() + integer, device, allocatable :: a(:) + integer :: isz + + isz = size(a) +end subroutine + +! CHECK-LABEL: func.func @_QPsub18() +! CHECK-NOT: cuf.data_transfer