[llvm-branch-commits] [openmp] a10f87d - [OpenMP][Tool] Fix memory leak and double-allocation
Hans Wennborg via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Fri Jan 17 01:15:30 PST 2020
Author: Joachim Protze
Date: 2020-01-17T10:15:17+01:00
New Revision: a10f87d5695bdd4f1e366c82fd2869f0fe1d4cfe
URL: https://github.com/llvm/llvm-project/commit/a10f87d5695bdd4f1e366c82fd2869f0fe1d4cfe
DIFF: https://github.com/llvm/llvm-project/commit/a10f87d5695bdd4f1e366c82fd2869f0fe1d4cfe.diff
LOG: [OpenMP][Tool] Fix memory leak and double-allocation
Fix the memory leak pointed out in https://reviews.llvm.org/D70412.
And a second one due to double-allocation.
Reviewed by: Hahnfeld
Differential revision: https://reviews.llvm.org/D72779
(cherry picked from commit 39f746d8def66ef8f5c4d3f1eb4c4cee4baac988)
Added:
Modified:
openmp/tools/archer/ompt-tsan.cpp
Removed:
################################################################################
diff --git a/openmp/tools/archer/ompt-tsan.cpp b/openmp/tools/archer/ompt-tsan.cpp
index 50b98e2a4851..39512d38e3c2 100644
--- a/openmp/tools/archer/ompt-tsan.cpp
+++ b/openmp/tools/archer/ompt-tsan.cpp
@@ -114,7 +114,6 @@ void __attribute__((weak)) __tsan_flush_memory() {}
}
#endif
ArcherFlags *archer_flags;
-TsanFlags *tsan_flags;
// The following definitions are pasted from "llvm/Support/Compiler.h" to allow
// the code
@@ -862,10 +861,8 @@ static void ompt_tsan_mutex_released(ompt_mutex_t kind,
static int ompt_tsan_initialize(ompt_function_lookup_t lookup,
int device_num,
ompt_data_t *tool_data) {
- const char *options = getenv("ARCHER_OPTIONS");
- archer_flags = new ArcherFlags(options);
- options = getenv("TSAN_OPTIONS");
- tsan_flags = new TsanFlags(options);
+ const char *options = getenv("TSAN_OPTIONS");
+ TsanFlags tsan_flags(options);
ompt_set_callback_t ompt_set_callback =
(ompt_set_callback_t)lookup("ompt_set_callback");
@@ -898,7 +895,7 @@ static int ompt_tsan_initialize(ompt_function_lookup_t lookup,
SET_CALLBACK_T(mutex_released, mutex);
SET_OPTIONAL_CALLBACK_T(reduction, sync_region, hasReductionCallback, ompt_set_never);
- if (!tsan_flags->ignore_noninstrumented_modules)
+ if (!tsan_flags.ignore_noninstrumented_modules)
fprintf(
stderr,
"Warning: please export TSAN_OPTIONS='ignore_noninstrumented_modules=1' "
More information about the llvm-branch-commits
mailing list