diff options
author | CHANDRA GHALE <chandra.nitdgp@gmail.com> | 2024-11-28 14:18:59 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-28 14:18:59 +0530 |
commit | 76e6c8d3fc3dc097a3bd96e8959f73a809493976 (patch) | |
tree | a5788df74379cd0055a4376d23ba116e19d7ff82 /llvm/lib/Bitcode | |
parent | 332719561000dcac94384234ace1fa959362ad8e (diff) | |
download | llvm-76e6c8d3fc3dc097a3bd96e8959f73a809493976.zip llvm-76e6c8d3fc3dc097a3bd96e8959f73a809493976.tar.gz llvm-76e6c8d3fc3dc097a3bd96e8959f73a809493976.tar.bz2 |
Codegen changes for strict modifier with grainsize/num_tasks of taskloop construct (#117196)
Initial parsing/sema for 'strict' modifier with 'num_tasks' and
‘grainsize’ clause is present in these commits
[grainsize_parsing](https://github.com/llvm/llvm-project/commit/ab9eac762c35068e77f57795e660d06f578c9614)
and
[num_tasks_parsing](https://github.com/llvm/llvm-project/commit/56c166017055595a9f26933e85bfd89e30c528d0#diff-4184486638e85284c3a2c961a81e7752231022daf97e411007c13a6732b50db9R6545)
. However, this implementation appears incomplete as it lacks code
generation support. A runtime patch was introduced in this runtime
commit
[runtime_patch](https://github.com/llvm/llvm-project/commit/540007b42701b5ac9adba076824bfd648a265413#diff-5e95f9319910d6965d09c301359dbe6b23f3eef5ce4d262ef2c2d2137875b5c4R374)
, which adds a new API, _kmpc_taskloop_5, to accommodate the strict
modifier.
In this patch I have added codegen support. When the strict modifier is
present alongside the grainsize or num_tasks clauses of taskloop
construct, the code now emits a call to _kmpc_taskloop_5, which includes
an additional parameter of type i32 with the value 1 to indicate the
strict modifier. If the strict modifier is not present, it falls back to
the existing _kmpc_taskloop API call.
---------
Co-authored-by: Chandra Ghale <ghale@pe31.hpc.amslabs.hpecorp.net>
Diffstat (limited to 'llvm/lib/Bitcode')
0 files changed, 0 insertions, 0 deletions