[all-commits] [llvm/llvm-project] aec87a: [llvm][mlir][flang][OpenMP] Emit __atomic_load and...
NimishMishra via All-commits
all-commits at lists.llvm.org
Wed Oct 2 23:32:57 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: aec87a2143c01039578ceaed752ca2cb1dc83ff7
https://github.com/llvm/llvm-project/commit/aec87a2143c01039578ceaed752ca2cb1dc83ff7
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2024-10-02 (Wed, 02 Oct 2024)
Changed paths:
M flang/lib/Lower/DirectivesCommon.h
A flang/test/Integration/OpenMP/atomic-capture-complex.f90
A flang/test/Integration/OpenMP/atomic-update-complex.f90
R flang/test/Lower/OpenMP/Todo/atomic-complex.f90
A llvm/include/llvm/Frontend/Atomic/Atomic.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
A llvm/lib/Frontend/Atomic/Atomic.cpp
A llvm/lib/Frontend/Atomic/CMakeLists.txt
M llvm/lib/Frontend/CMakeLists.txt
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[llvm][mlir][flang][OpenMP] Emit __atomic_load and __atomic_compare_exchange libcalls for complex types in atomic update (#92364)
This patch adds functionality to emit relevant libcalls in case
atomicrmw instruction can not be emitted (for instance, in case of
complex types). The IRBuilder is modified to directly emit __atomic_load
and __atomic_compare_exchange libcalls. The added functions follow a
similar codegen path as Clang, so that LLVM Flang generates almost
similar IR as Clang.
Fixes https://github.com/llvm/llvm-project/issues/83760 and
https://github.com/llvm/llvm-project/issues/75138
Co-authored-by: Michael Kruse <llvm-project at meinersbur.de>
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