[flang] [llvm] [mlir] [OpenMPIRBuilder] Emit __atomic_load and __atomic_compare_exchange libcalls for complex types in atomic update (PR #92364)
    Tom Eccles via llvm-commits 
    llvm-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 llvm-commits
mailing list