diff options
author | Kareem Ergawy <kareem.ergawy@amd.com> | 2025-03-20 22:21:09 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-20 16:21:09 -0500 |
commit | f23a6ef54c104b357e140e7782fd66248d9382f1 (patch) | |
tree | 5156fdf10dbc42873f673a7564d9072af110c905 /llvm/tools/llvm-objdump/llvm-objdump.cpp | |
parent | 09ff6db0dcb3ea223282a35aa4f9dc9aaf358c05 (diff) | |
download | llvm-f23a6ef54c104b357e140e7782fd66248d9382f1.zip llvm-f23a6ef54c104b357e140e7782fd66248d9382f1.tar.gz llvm-f23a6ef54c104b357e140e7782fd66248d9382f1.tar.bz2 |
[flang][OpenMP] Process `omp.atomic.update` while translating scopes for target device (#132165)
Fixes a bug introduced by
https://github.com/llvm/llvm-project/pull/130078.
For non-BlockArgOpenMPOpInterface ops, we also want to map their entry
block arguments to their operands, if any. For the current support in
the OpenMP dialect, the table below lists all ops that have arguments
(SSA operands and/or attributes) and not target-related. Of all these
ops, we need to only process `omp.atomic.update` since it is the only op
that has SSA operands & an attached region. Therefore, the region's
entry block arguments must be mapped to the op's operands in case they
are referenced inside the region.
| op | operands? | region(s)? | parent is func? | processed? |
|--------------|-------------|------------|------------------|-------------|
| atomic.read | yes | no | yes | no |
| atomic.write | yes | no | yes | no |
| atomic.update | yes | yes | yes | yes |
| critical | no | no | yes | no |
| declare_mapper | no | yes | no | no |
| declare_reduction | no | yes | no | no |
| flush | yes | no | yes | no |
| private | no | yes | yes | no |
| threadprivate | yes | no | yes | no |
| yield | yes | no | yes | no |
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
0 files changed, 0 insertions, 0 deletions