[Openmp-commits] [openmp] 77cb30e - Revert "[OpenMP][DeviceRTL] Fix the issue that multiple calls to `omp_get_wtime` is optimized out by mistake"

Shilei Tian via Openmp-commits openmp-commits at lists.llvm.org
Fri Jul 22 08:45:29 PDT 2022


Author: Shilei Tian
Date: 2022-07-22T11:45:13-04:00
New Revision: 77cb30e3a60eabe1a79e02308675c4b6a96c4615

URL: https://github.com/llvm/llvm-project/commit/77cb30e3a60eabe1a79e02308675c4b6a96c4615
DIFF: https://github.com/llvm/llvm-project/commit/77cb30e3a60eabe1a79e02308675c4b6a96c4615.diff

LOG: Revert "[OpenMP][DeviceRTL] Fix the issue that multiple calls to `omp_get_wtime` is optimized out by mistake"

This reverts commit ad34f1dba80efb62f5181e30b039a017fd5d164e.

Added: 
    

Modified: 
    llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    openmp/libomptarget/DeviceRTL/src/Misc.cpp
    openmp/libomptarget/test/lit.cfg

Removed: 
    openmp/libomptarget/test/offloading/wtime.c


################################################################################
diff  --git a/llvm/include/llvm/Frontend/OpenMP/OMPKinds.def b/llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
index 229797fb866ee..9d1ab57729b74 100644
--- a/llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
+++ b/llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
@@ -681,7 +681,6 @@ __OMP_RTL_ATTRS(omp_get_partition_num_places, GetterAttrs, AttributeSet(),
                 ParamAttrs())
 __OMP_RTL_ATTRS(omp_get_partition_place_nums, GetterAttrs, AttributeSet(),
                 ParamAttrs())
-__OMP_RTL_ATTRS(omp_get_wtime, GetterAttrs, AttributeSet(), ParamAttrs())
 
 __OMP_RTL_ATTRS(omp_set_num_threads, SetterAttrs, AttributeSet(), ParamAttrs())
 __OMP_RTL_ATTRS(omp_set_dynamic, SetterAttrs, AttributeSet(), ParamAttrs())
@@ -920,7 +919,7 @@ __OMP_RTL_ATTRS(__kmpc_doacross_fini, BarrierAttrs, AttributeSet(),
 
 __OMP_RTL_ATTRS(__kmpc_alloc_shared, AttributeSet(
   EnumAttr(NoUnwind),
-  EnumAttr(NoSync),
+  EnumAttr(NoSync), 
   AllocSizeAttr(0, None)), ReturnPtrAttrs, ParamAttrs())
 __OMP_RTL_ATTRS(__kmpc_free_shared, DeviceAllocAttrs, AttributeSet(),
                 ParamAttrs(NoCaptureAttrs))

diff  --git a/openmp/libomptarget/DeviceRTL/src/Misc.cpp b/openmp/libomptarget/DeviceRTL/src/Misc.cpp
index 7166925db4362..554a13ae4794e 100644
--- a/openmp/libomptarget/DeviceRTL/src/Misc.cpp
+++ b/openmp/libomptarget/DeviceRTL/src/Misc.cpp
@@ -52,7 +52,7 @@ double getWTick() {
 
 double getWTime() {
   unsigned long long nsecs;
-  asm volatile("mov.u64  %0, %%globaltimer;" : "=l"(nsecs));
+  asm("mov.u64  %0, %%globaltimer;" : "=l"(nsecs));
   return (double)nsecs * getWTick();
 }
 

diff  --git a/openmp/libomptarget/test/lit.cfg b/openmp/libomptarget/test/lit.cfg
index f0eadea1f67d6..5436d324e06d6 100644
--- a/openmp/libomptarget/test/lit.cfg
+++ b/openmp/libomptarget/test/lit.cfg
@@ -128,7 +128,7 @@ for libomptarget_target in config.libomptarget_all_targets:
     # Is this target in the current system? If so create a compile, run and test
     # command. Otherwise create command that return false.
     if libomptarget_target == config.libomptarget_current_target:
-        config.substitutions.append(("%libomptarget-compilexx-run-and-check-generic",
+        config.substitutions.append(("%libomptarget-compilexx-run-and-check-generic", 
             "%libomptarget-compilexx-run-and-check-" + libomptarget_target))
         config.substitutions.append(("%libomptarget-compile-run-and-check-generic",
             "%libomptarget-compile-run-and-check-" + libomptarget_target))
@@ -140,18 +140,6 @@ for libomptarget_target in config.libomptarget_all_targets:
             "%libomptarget-compilexx-" + libomptarget_target))
         config.substitutions.append(("%libomptarget-compile-generic",
             "%libomptarget-compile-" + libomptarget_target))
-        config.substitutions.append(("%libomptarget-compileoptxx-run-and-check-generic",
-            "%libomptarget-compileoptxx-run-and-check-" + libomptarget_target))
-        config.substitutions.append(("%libomptarget-compileopt-run-and-check-generic",
-            "%libomptarget-compileopt-run-and-check-" + libomptarget_target))
-        config.substitutions.append(("%libomptarget-compileoptxx-and-run-generic",
-            "%libomptarget-compileoptxx-and-run-" + libomptarget_target))
-        config.substitutions.append(("%libomptarget-compileopt-and-run-generic",
-            "%libomptarget-compileopt-and-run-" + libomptarget_target))
-        config.substitutions.append(("%libomptarget-compileoptxx-generic",
-            "%libomptarget-compileoptxx-" + libomptarget_target))
-        config.substitutions.append(("%libomptarget-compileopt-generic",
-            "%libomptarget-compileopt-" + libomptarget_target))
         config.substitutions.append(("%libomptarget-run-generic",
             "%libomptarget-run-" + libomptarget_target))
         config.substitutions.append(("%libomptarget-run-fail-generic",
@@ -186,28 +174,6 @@ for libomptarget_target in config.libomptarget_all_targets:
         config.substitutions.append(("%libomptarget-compile-" + \
             libomptarget_target, \
             "%clang-" + libomptarget_target + " %s -o %t"))
-        config.substitutions.append(("%libomptarget-compileoptxx-run-and-check-" + \
-            libomptarget_target, \
-            "%libomptarget-compileoptxx-and-run-" + libomptarget_target + \
-            " | " + config.libomptarget_filecheck + " %s"))
-        config.substitutions.append(("%libomptarget-compileopt-run-and-check-" + \
-            libomptarget_target, \
-            "%libomptarget-compileopt-and-run-" + libomptarget_target + \
-            " | " + config.libomptarget_filecheck + " %s"))
-        config.substitutions.append(("%libomptarget-compileoptxx-and-run-" + \
-            libomptarget_target, \
-            "%libomptarget-compileoptxx-" + libomptarget_target + " && " + \
-            "%libomptarget-run-" + libomptarget_target))
-        config.substitutions.append(("%libomptarget-compileopt-and-run-" + \
-            libomptarget_target, \
-            "%libomptarget-compileopt-" + libomptarget_target + " && " + \
-            "%libomptarget-run-" + libomptarget_target))
-        config.substitutions.append(("%libomptarget-compileoptxx-" + \
-            libomptarget_target, \
-            "%clangxx-" + libomptarget_target + " -O3 %s -o %t"))
-        config.substitutions.append(("%libomptarget-compileopt-" + \
-            libomptarget_target, \
-            "%clang-" + libomptarget_target + " -O3 %s -o %t"))
         config.substitutions.append(("%libomptarget-run-" + \
             libomptarget_target, \
             "%t"))
@@ -241,24 +207,6 @@ for libomptarget_target in config.libomptarget_all_targets:
         config.substitutions.append(("%libomptarget-compile-" + \
             libomptarget_target, \
             "echo ignored-command"))
-        config.substitutions.append(("%libomptarget-compileopt-run-and-check-" + \
-            libomptarget_target, \
-            "echo ignored-command"))
-        config.substitutions.append(("%libomptarget-compileoptxx-run-and-check-" + \
-            libomptarget_target, \
-            "echo ignored-command"))
-        config.substitutions.append(("%libomptarget-compileopt-and-run-" + \
-            libomptarget_target, \
-            "echo ignored-command"))
-        config.substitutions.append(("%libomptarget-compileoptxx-and-run-" + \
-            libomptarget_target, \
-            "echo ignored-command"))
-        config.substitutions.append(("%libomptarget-compileoptxx-" + \
-            libomptarget_target, \
-            "echo ignored-command"))
-        config.substitutions.append(("%libomptarget-compileopt-" + \
-            libomptarget_target, \
-            "echo ignored-command"))
         config.substitutions.append(("%libomptarget-run-" + \
             libomptarget_target, \
             "echo ignored-command"))

diff  --git a/openmp/libomptarget/test/offloading/wtime.c b/openmp/libomptarget/test/offloading/wtime.c
deleted file mode 100644
index bc2e1f79907eb..0000000000000
--- a/openmp/libomptarget/test/offloading/wtime.c
+++ /dev/null
@@ -1,24 +0,0 @@
-// RUN: %libomptarget-compileopt-run-and-check-generic
-
-// UNSUPPORTED: amdgcn-amd-amdhsa
-// UNSUPPORTED: amdgcn-amd-amdhsa-oldDriver
-// UNSUPPORTED: amdgcn-amd-amdhsa-LTO
-
-#include <omp.h>
-#include <stdio.h>
-
-int main(int argc, char *argv[]) {
-  int data[1024];
-#pragma omp target
-  {
-    double start = omp_get_wtime();
-    for (int i = 0; i < 1024; ++i)
-      data[i] = i;
-    double end = omp_get_wtime();
-    double duration = end - start;
-    printf("duration: %lfs\n", duration);
-  }
-  return 0;
-}
-
-// CHECK: duration: [1-9]+


        


More information about the Openmp-commits mailing list