[all-commits] [llvm/llvm-project] afa902: [mlir][OpenMP] Pack task private variables into a ...

Tom Eccles via All-commits all-commits at lists.llvm.org
Mon Feb 3 03:44:39 PST 2025


  Branch: refs/heads/users/tblah/delayed-task-exec-5
  Home:   https://github.com/llvm/llvm-project
  Commit: afa9026eefb6c9cd613ed021a92e159f93c3667c
      https://github.com/llvm/llvm-project/commit/afa9026eefb6c9cd613ed021a92e159f93c3667c
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-02-03 (Mon, 03 Feb 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.


  Commit: f8a0b7181c86046f2d833eff97c4cd88db656285
      https://github.com/llvm/llvm-project/commit/f8a0b7181c86046f2d833eff97c4cd88db656285
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir

  Log Message:
  -----------
  Update after code review on previous patch


Compare: https://github.com/llvm/llvm-project/compare/f2b7ba929220...f8a0b7181c86

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