[Openmp-commits] [openmp] 0454154 - [OpenMP][stats] reset serial state when re-entering serial region

via Openmp-commits openmp-commits at lists.llvm.org
Tue Nov 17 08:10:54 PST 2020


Author: Peyton, Jonathan L
Date: 2020-11-17T10:09:56-06:00
New Revision: 0454154efd5423a5400a0d76572421d4f62c18d1

URL: https://github.com/llvm/llvm-project/commit/0454154efd5423a5400a0d76572421d4f62c18d1
DIFF: https://github.com/llvm/llvm-project/commit/0454154efd5423a5400a0d76572421d4f62c18d1.diff

LOG: [OpenMP][stats] reset serial state when re-entering serial region

Differential Revision: https://reviews.llvm.org/D90867

Added: 
    

Modified: 
    openmp/runtime/src/kmp_csupport.cpp

Removed: 
    


################################################################################
diff  --git a/openmp/runtime/src/kmp_csupport.cpp b/openmp/runtime/src/kmp_csupport.cpp
index 5d6f168a4060..ead7855b567d 100644
--- a/openmp/runtime/src/kmp_csupport.cpp
+++ b/openmp/runtime/src/kmp_csupport.cpp
@@ -324,6 +324,7 @@ void __kmpc_fork_call(ident_t *loc, kmp_int32 argc, kmpc_micro microtask, ...) {
 #if KMP_STATS_ENABLED
   if (previous_state == stats_state_e::SERIAL_REGION) {
     KMP_EXCHANGE_PARTITIONED_TIMER(OMP_serial);
+    KMP_SET_THREAD_STATE(previous_state);
   } else {
     KMP_POP_PARTITIONED_TIMER();
   }
@@ -436,6 +437,7 @@ void __kmpc_fork_teams(ident_t *loc, kmp_int32 argc, kmpc_micro microtask,
 #if KMP_STATS_ENABLED
   if (previous_state == stats_state_e::SERIAL_REGION) {
     KMP_EXCHANGE_PARTITIONED_TIMER(OMP_serial);
+    KMP_SET_THREAD_STATE(previous_state);
   } else {
     KMP_POP_PARTITIONED_TIMER();
   }


        


More information about the Openmp-commits mailing list