[libomptarget] Always call malloc, free via SafeMalloc, SafeFree wrapper
authorJon Chesterfield <jonathanchesterfield@gmail.com>
Wed, 30 Oct 2019 13:31:56 +0000 (13:31 +0000)
committerJonChesterfield <jonathanchesterfield@gmail.com>
Wed, 30 Oct 2019 13:35:34 +0000 (13:35 +0000)
Summary:
[libomptarget] Always call malloc, free via SafeMalloc, SafeFree wrapper

NFC for release, adds some verbosity to debug printing. Motivation is to provide
one place where local modifications can be made to the behaviour of all heap
allocation or deallocation while debugging.

Reviewers: jdoerfert, ABataev, grokos

Reviewed By: ABataev

Subscribers: openmp-commits

Tags: #openmp

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

openmp/libomptarget/deviceRTLs/nvptx/src/data_sharing.cu

index 5e936b0..78b04ec 100644 (file)
@@ -180,13 +180,14 @@ EXTERN void *__kmpc_data_sharing_environment_begin(
         } else {
           DSPRINT(DSFLAG, "Cleaning up -failed reuse - %016llx\n",
                   (unsigned long long)SlotP->Next);
-          free(ExistingSlot);
+          SafeFree(ExistingSlot, "Failed reuse");
         }
       }
 
       if (!NewSlot) {
-        NewSlot = (__kmpc_data_sharing_slot *)malloc(
-            sizeof(__kmpc_data_sharing_slot) + NewSize);
+        NewSlot = (__kmpc_data_sharing_slot *)SafeMalloc(
+            sizeof(__kmpc_data_sharing_slot) + NewSize,
+            "Warp master slot allocation");
         DSPRINT(DSFLAG, "New slot allocated %016llx (data size=%016llx)\n",
                 (unsigned long long)NewSlot, NewSize);
       }
@@ -205,7 +206,7 @@ EXTERN void *__kmpc_data_sharing_environment_begin(
       if (SlotP->Next) {
         DSPRINT(DSFLAG, "Cleaning up - old not required - %016llx\n",
                 (unsigned long long)SlotP->Next);
-        free(SlotP->Next);
+        SafeFree(SlotP->Next, "Old slot not required");
         SlotP->Next = 0;
       }
 
@@ -243,7 +244,7 @@ EXTERN void __kmpc_data_sharing_environment_end(
                                         : DataSharingState.SlotPtr[WID];
 
       if (S->Next) {
-        free(S->Next);
+        SafeFree(S->Next, "Sharing environment end");
         S->Next = 0;
       }
     }