[Openmp-commits] [openmp] [OpenMP] Fix Taskgraph bugs (PR #136837)
Shilei Tian via Openmp-commits
openmp-commits at lists.llvm.org
Wed Apr 23 11:54:29 PDT 2025
================
@@ -243,11 +243,14 @@ static inline void __kmp_track_dependence(kmp_int32 gtid, kmp_depnode_t *source,
}
if (!exists) {
if (source_info->nsuccessors >= source_info->successors_size) {
- source_info->successors_size = 2 * source_info->successors_size;
+ kmp_uint old_size = source_info->successors_size;
+ kmp_uint new_size = source_info->successors_size * 2;
kmp_int32 *old_succ_ids = source_info->successors;
- kmp_int32 *new_succ_ids = (kmp_int32 *)__kmp_allocate(
- source_info->successors_size * sizeof(kmp_int32));
+ kmp_int32 *new_succ_ids =
+ (kmp_int32 *)__kmp_allocate(new_size * sizeof(kmp_int32));
+ KMP_MEMCPY(new_succ_ids, old_succ_ids, old_size * sizeof(kmp_int32));
source_info->successors = new_succ_ids;
+ source_info->successors_size = new_size;
----------------
shiltian wrote:
You don't actually need the new_size and related code. Only `old_size` is needed and all the other code can stay unchanged. The copy only uses `old_size` anyway.
https://github.com/llvm/llvm-project/pull/136837
More information about the Openmp-commits
mailing list