aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorPranav Bhandarkar <pranav.bhandarkar@amd.com>2024-07-22 10:56:45 -0500
committerGitHub <noreply@github.com>2024-07-22 10:56:45 -0500
commitd7e185cca98411e82655feecc297906cb7ed0850 (patch)
treeb214775fac204173b113c7362b595592d8394c5d /clang/lib/CodeGen/CodeGenModule.cpp
parent9da221d15ff7baa786031a855f1aa40de63dd8cb (diff)
downloadllvm-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