llvm-project
db48d493 - [mlir][OpenMP] Pack task private variables into a heap-allocated context struct (#125307)

Commit
306 days ago
[mlir][OpenMP] Pack task private variables into a heap-allocated context struct (#125307) 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.
Author
Parents
Loading