[Mlir-commits] [flang] [llvm] [mlir] [openmp][mlir] Expand use of atomicrmw for atomic update (PR #215654)
Sairudra More
llvmlistbot at llvm.org
Sat Oct 17 05:02:16 PDT 2026
================
@@ -11444,15 +11451,26 @@ Expected<std::pair<Value *, Value *>> OpenMPIRBuilder::emitAtomicUpdate(
case AtomicRMWInst::Or:
case AtomicRMWInst::Xor:
case AtomicRMWInst::Xchg:
+ case AtomicRMWInst::Max:
+ case AtomicRMWInst::Min:
+ case AtomicRMWInst::UMax:
+ case AtomicRMWInst::UMin:
+ case AtomicRMWInst::FAdd:
+ case AtomicRMWInst::FMax:
+ case AtomicRMWInst::FMin:
+ case AtomicRMWInst::FMaximum:
+ case AtomicRMWInst::FMinimum:
emitRMWOp = XElemTy;
break;
case AtomicRMWInst::Sub:
+ case AtomicRMWInst::FSub:
emitRMWOp = (IsXBinopExpr && XElemTy);
break;
default:
emitRMWOp = false;
}
- emitRMWOp &= XElemTy->isIntegerTy();
+ emitRMWOp &=
+ (XElemTy->isIntegerTy() || XElemTy->isFloatTy() || XElemTy->isDoubleTy());
----------------
Saieiei wrote:
All the new and updated float tests use f32, so nothing covers the `isDoubleTy()` path. Could you add an f64 update to openmp-llvm.mlir?
https://github.com/llvm/llvm-project/pull/215654
More information about the Mlir-commits
mailing list