[flang-commits] [flang] [llvm] [mlir] [OpenMPIRBuilder] Emit __atomic_load and __atomic_compare_exchange libcalls for complex types in atomic update (PR #92364)

Tom Eccles via flang-commits flang-commits at lists.llvm.org
Mon Sep 30 06:41:03 PDT 2024


================
@@ -129,8 +129,7 @@ static void processOmpAtomicTODO(mlir::Type elementType,
     // Based on assertion for supported element types in OMPIRBuilder.cpp
     // createAtomicRead
     mlir::Type unwrappedEleTy = fir::unwrapRefType(elementType);
-    bool supportedAtomicType =
-        (!fir::isa_complex(unwrappedEleTy) && fir::isa_trivial(unwrappedEleTy));
+    bool supportedAtomicType = fir::isa_trivial(unwrappedEleTy);
----------------
tblah wrote:

I think we need more complex logic here. So far as I can tell this PR only fixes atomic update and capture. Using complex with atomic read (for example) still needs a TODO message.

https://github.com/llvm/llvm-project/pull/92364


More information about the flang-commits mailing list