[llvm] [Offload]: Skip copying of unused kernel-mapped data (PR #124723)
Johannes Doerfert via llvm-commits
llvm-commits at lists.llvm.org
Sun Apr 6 15:35:35 PDT 2025
================
@@ -0,0 +1,88 @@
+// clang-format off
+// RUN: %libomptarget-compilexx-generic
+// RUN: env LIBOMPTARGET_INFO=160 %libomptarget-run-generic 2>&1 \
+// RUN: | %fcheck-generic
+
+// REQUIRES: gpu
+// clang-format on
+
+int main() {
+ float DataStack = 0;
+
+// CHECK: omptarget device 0 info: Copying data from device to host,
+// TgtPtr=0x{{.*}}, HstPtr=0x{{.*}}, Size=4, Name=unknown
+#pragma omp target map(from : DataStack)
+ {
+ DataStack = 1;
+ }
+
+// CHECK: omptarget device 0 info: Copying data from host to device,
+// HstPtr=0x{{.*}}, TgtPtr=0x{{.*}}, Size=4, Name=unknown
+#pragma omp target map(always to : DataStack)
+ ;
+
+// CHECK: omptarget device 0 info: tofrom(unknown)[4] is not used and will not
+// be copied
+#pragma omp target map(tofrom : DataStack)
+ ;
+
+ int Size = 16;
+ double *Data = new double[Size];
+
+// CHECK: omptarget device 0 info: Copying data from host to device,
+// HstPtr=0x{{.*}}, TgtPtr=0x{{.*}}, Size=8, Name=unknown CHECK: omptarget
+// device 0 info: Copying data from device to host, TgtPtr=0x{{.*}},
+// HstPtr=0x{{.*}}, Size=8, Name=unknown
+#pragma omp target map(tofrom : Data[0 : 1])
+ {
+ Data[0] = 1;
+ }
+
+// CHECK: omptarget device 0 info: Copying data from host to device,
+// HstPtr=0x{{.*}}, TgtPtr=0x{{.*}}, Size=16, Name=unknown CHECK: omptarget
+// device 0 info: Copying data from device to host, TgtPtr=0x{{.*}},
+// HstPtr=0x{{.*}}, Size=16, Name=unknown
+#pragma omp target map(always tofrom : Data[0 : 2])
+ ;
+
+// CHECK: omptarget device 0 info: from(unknown)[24] is not used and will not be
+// copied
+#pragma omp target map(from : Data[0 : 3])
+ ;
+
+// CHECK: omptarget device 0 info: to(unknown)[24] is not used and will not be
+// copied
+#pragma omp target map(to : Data[0 : 3])
+ ;
+
+// CHECK: omptarget device 0 info: tofrom(unknown)[32] is not used and will not
+// be copied
----------------
jdoerfert wrote:
This file got formatted which breaks the checks.
Either use CHECK-SAME: on the new lines or avoid formatting it.
https://github.com/llvm/llvm-project/pull/124723
More information about the llvm-commits
mailing list