[all-commits] [llvm/llvm-project] df4746: [mlir][OpenMP] Pack task private variables into a ...
Tom Eccles via All-commits
all-commits at lists.llvm.org
Mon Feb 24 05:21:52 PST 2025
Branch: refs/heads/users/tblah/delayed-task-exec-5
Home: https://github.com/llvm/llvm-project
Commit: df47461dcf1f9244da472efdcc57d266ecd42b34
https://github.com/llvm/llvm-project/commit/df47461dcf1f9244da472efdcc57d266ecd42b34
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-02-24 (Mon, 24 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: 9a4fe6aeddb510c582322fbad9a1eda10fd034dc
https://github.com/llvm/llvm-project/commit/9a4fe6aeddb510c582322fbad9a1eda10fd034dc
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-02-24 (Mon, 24 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: 3f02adf573612ce884f1c3a964aafee9381c9afa
https://github.com/llvm/llvm-project/commit/3f02adf573612ce884f1c3a964aafee9381c9afa
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-02-24 (Mon, 24 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: 08573d23cd3f7a498f167acd0f3e70d5df6cb947
https://github.com/llvm/llvm-project/commit/08573d23cd3f7a498f167acd0f3e70d5df6cb947
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
Fix comment
Commit: a8ecb618de49346e3090b4fc7b56740686cfe87f
https://github.com/llvm/llvm-project/commit/a8ecb618de49346e3090b4fc7b56740686cfe87f
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
Make logic clearer
Commit: 8ac248a112211467e2da48896a4956be5b867acc
https://github.com/llvm/llvm-project/commit/8ac248a112211467e2da48896a4956be5b867acc
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-02-24 (Mon, 24 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: fbba1f3011fbd1f44189b7adcccd133cd5ed6250
https://github.com/llvm/llvm-project/commit/fbba1f3011fbd1f44189b7adcccd133cd5ed6250
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
Fix comment
Commit: 4e9cd7b44da1e89830e3dba1c6e953b43a91e780
https://github.com/llvm/llvm-project/commit/4e9cd7b44da1e89830e3dba1c6e953b43a91e780
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
Reserve the correct size
Commit: ffec9f4903a5967c2da6cf76110af7136f8e9b41
https://github.com/llvm/llvm-project/commit/ffec9f4903a5967c2da6cf76110af7136f8e9b41
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
Update charbox comment
Commit: bb0e213b21ba7700e0b1bcfa30cccffdc52da321
https://github.com/llvm/llvm-project/commit/bb0e213b21ba7700e0b1bcfa30cccffdc52da321
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
Rename llvmPrivateVars to llvmPrivateVarGEPs
Commit: 459d2d5ea7f803cc6553b7d9007283281263f1fe
https://github.com/llvm/llvm-project/commit/459d2d5ea7f803cc6553b7d9007283281263f1fe
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-02-24 (Mon, 24 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
Compare: https://github.com/llvm/llvm-project/compare/081fb2e95514...459d2d5ea7f8
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