[all-commits] [llvm/llvm-project] db9c57: [flang][OpenMP] Process `omp.atomic.update` while ...
Kareem Ergawy via All-commits
all-commits at lists.llvm.org
Thu Mar 20 01:42:22 PDT 2025
Branch: refs/heads/users/ergawy/translate_atomic_update
Home: https://github.com/llvm/llvm-project
Commit: db9c57c743e3bc3685cd17df0e5f6fc7e39c0e8a
https://github.com/llvm/llvm-project/commit/db9c57c743e3bc3685cd17df0e5f6fc7e39c0e8a
Author: ergawy <kareem.ergawy at amd.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-target-nesting-in-host-ops.mlir
Log Message:
-----------
[flang][OpenMP] Process `omp.atomic.update` while translating scopes for target device
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 |
=============================================================================
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list