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

Tom Eccles via All-commits all-commits at lists.llvm.org
Thu Feb 27 01:22:46 PST 2025


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

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-task-privatization.mlir

  Log Message:
  -----------
  Allocate simple private vars inside of the task

There's no need to put the variable in the context structure if it can
be initialized without reading from the mold variable.

This leads to much simpler code generation for nested tasks which only
privatize simple scalar variables and do not use firstprivate. This
works around the failure in 0226_0013 (Fujitsu test).


  Commit: 3683d4178097c71b044548be67795b4f4d3df997
      https://github.com/llvm/llvm-project/commit/3683d4178097c71b044548be67795b4f4d3df997
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-02-27 (Thu, 27 Feb 2025)

  Changed paths:
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp

  Log Message:
  -----------
  Add methods to operation to test if the mold arg is read


  Commit: 7391b7b5145bc1f45726ea61d500325f1241eeca
      https://github.com/llvm/llvm-project/commit/7391b7b5145bc1f45726ea61d500325f1241eeca
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-02-27 (Thu, 27 Feb 2025)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp

  Log Message:
  -----------
  Fix comment


  Commit: 682d511d0b8389a048eda03bf4c11fc5136c954b
      https://github.com/llvm/llvm-project/commit/682d511d0b8389a048eda03bf4c11fc5136c954b
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-02-27 (Thu, 27 Feb 2025)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp

  Log Message:
  -----------
  Make logic clearer


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

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp

  Log Message:
  -----------
  Move llvm private vars into task context struct manager


  Commit: 9604d0b7adbaa59a4f1bf7c765b910abb2339988
      https://github.com/llvm/llvm-project/commit/9604d0b7adbaa59a4f1bf7c765b910abb2339988
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-02-27 (Thu, 27 Feb 2025)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp

  Log Message:
  -----------
  Fix comment


  Commit: 5bfe525faa30fafefee90382ea7a81dbee138e0e
      https://github.com/llvm/llvm-project/commit/5bfe525faa30fafefee90382ea7a81dbee138e0e
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-02-27 (Thu, 27 Feb 2025)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp

  Log Message:
  -----------
  Reserve the correct size


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

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp

  Log Message:
  -----------
  Update charbox comment


  Commit: 5f40731f84c51fe591a5f89937c9bd3896b3dd26
      https://github.com/llvm/llvm-project/commit/5f40731f84c51fe591a5f89937c9bd3896b3dd26
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-02-27 (Thu, 27 Feb 2025)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp

  Log Message:
  -----------
  Rename llvmPrivateVars to llvmPrivateVarGEPs


  Commit: 193623e504d73c678ea49df83c5ce44877c28b32
      https://github.com/llvm/llvm-project/commit/193623e504d73c678ea49df83c5ce44877c28b32
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-02-27 (Thu, 27 Feb 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp

  Log Message:
  -----------
  Fix skatrak's comments


  Commit: 18daec335c15aadfec1ba5c13fdecc64bfa2f755
      https://github.com/llvm/llvm-project/commit/18daec335c15aadfec1ba5c13fdecc64bfa2f755
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-02-27 (Thu, 27 Feb 2025)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp

  Log Message:
  -----------
  Fix comments I missed


Compare: https://github.com/llvm/llvm-project/compare/ef5a597bd760...18daec335c15

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