[all-commits] [llvm/llvm-project] f2b7ba: [mlir][OpenMP] Pack task private variables into a ...
Tom Eccles via All-commits
all-commits at lists.llvm.org
Fri Jan 31 13:50:34 PST 2025
Branch: refs/heads/users/tblah/delayed-task-exec-5
Home: https://github.com/llvm/llvm-project
Commit: f2b7ba929220020747ab6375fff5d2955f1da6d0
https://github.com/llvm/llvm-project/commit/f2b7ba929220020747ab6375fff5d2955f1da6d0
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-01-31 (Fri, 31 Jan 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
A mlir/test/Target/LLVMIR/openmp-task-privatization.mlir
Log Message:
-----------
[mlir][OpenMP] Pack task private variables into a heap-allocated context struct
See RFC:
https://discourse.llvm.org/t/rfc-openmp-supporting-delayed-task-execution-with-firstprivate-variables/83084
The aim here is to ensure that tasks which are not executed for a while
after they are created do not try to reference any data which are now
out of scope. This is done by packing the data referred to by the task
into a heap allocated structure (freed at the end of the task).
I decided to create the task context structure in
OpenMPToLLVMIRTranslation instead of adapting how it is done
CodeExtractor (via OpenMPIRBuilder] because CodeExtractor is (at least
in theory) generic code which could have other unrelated uses.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list