3 Commits

Author SHA1 Message Date
NimishMishra
24fc8f01a4
[llvm][OpenMP][NFC] Cleanup AtomicInfo (#119199)
This PR refactors functionality from
llvm/include/llvm/Frontend/Atomic/Atomic.h into
llvm/lib/llvm/Frontend/Atomic/Atomic.cpp.
2024-12-23 00:26:44 -08:00
Kazu Hirata
36ada1b9b2
[Frontend] Remove unused includes (NFC) (#116927)
Identified with misc-include-cleaner.
2024-11-20 06:52:17 -08:00
NimishMishra
aec87a2143
[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@meinersbur.de>
2024-10-02 23:32:36 -07:00