aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-objdump/llvm-objdump.cpp
diff options
context:
space:
mode:
authorKareem Ergawy <kareem.ergawy@amd.com>2025-03-20 22:21:09 +0100
committerGitHub <noreply@github.com>2025-03-20 16:21:09 -0500
commitf23a6ef54c104b357e140e7782fd66248d9382f1 (patch)
tree5156fdf10dbc42873f673a7564d9072af110c905 /llvm/tools/llvm-objdump/llvm-objdump.cpp
parent09ff6db0dcb3ea223282a35aa4f9dc9aaf358c05 (diff)
downloadllvm-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