diff options
author | Pranav Bhandarkar <pranav.bhandarkar@amd.com> | 2024-07-22 10:56:45 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-22 10:56:45 -0500 |
commit | d7e185cca98411e82655feecc297906cb7ed0850 (patch) | |
tree | b214775fac204173b113c7362b595592d8394c5d /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | 9da221d15ff7baa786031a855f1aa40de63dd8cb (diff) | |
download | llvm-d7e185cca98411e82655feecc297906cb7ed0850.zip llvm-d7e185cca98411e82655feecc297906cb7ed0850.tar.gz llvm-d7e185cca98411e82655feecc297906cb7ed0850.tar.bz2 |
[OMPIRBuilder] - Handle dependencies in `createTarget` (#93977)
This patch handles dependencies specified by the `depend` clause on an
OpenMP target construct. It does this much the same way clang does it by
materializing an OpenMP `task` that is tagged with the dependencies.
The following functions are relevant to this patch -
1) `createTarget` - This function itself is largely unchanged except
that it now accepts a vector of `DependData` objects that it simply
forwards to `emitTargetCall`
2) `emitTargetCall` - This function has changed now to check if an outer
target-task needs to be materialized (i.e if `target` construct has
`nowait` or has `depend` clause). If yes, it calls `emitTargetTask` to
do all the heavy lifting for creating and dispatching the task.
3) `emitTargetTask` - Bulk of the change is here. See the large comment
explaining what it does at the beginning of this function
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions