[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