Lines Matching defs:RMW
16065 static bool fpModeMatchesGlobalFPAtomicMode(const AtomicRMWInst *RMW) {
16066 const fltSemantics &Flt = RMW->getType()->getScalarType()->getFltSemantics();
16067 auto DenormMode = RMW->getParent()->getParent()->getDenormalMode(Flt);
16083 static OptimizationRemark emitAtomicRMWLegalRemark(const AtomicRMWInst *RMW) {
16084 LLVMContext &Ctx = RMW->getContext();
16087 StringRef MemScope = SSNs[RMW->getSyncScopeID()].empty()
16089 : SSNs[RMW->getSyncScopeID()];
16091 return OptimizationRemark(DEBUG_TYPE, "Passed", RMW)
16093 << RMW->getOperationName(RMW->getOperation())
16118 SITargetLowering::shouldExpandAtomicRMWInIR(AtomicRMWInst *RMW) const {
16119 unsigned AS = RMW->getPointerAddressSpace();
16124 OptimizationRemarkEmitter ORE(RMW->getFunction());
16126 return emitAtomicRMWLegalRemark(RMW) << " due to an unsafe request.";
16131 auto SSID = RMW->getSyncScopeID();
16134 SSID == RMW->getContext().getOrInsertSyncScopeID("one-as");
16136 switch (RMW->getOperation()) {
16143 if (Constant *ConstVal = dyn_cast<Constant>(RMW->getValOperand());
16151 Type *Ty = RMW->getType();
16215 if (unsafeFPAtomicsDisabled(RMW->getFunction()))
16229 if (RMW->use_empty() && Subtarget->hasAtomicFaddNoRtnInsts())
16232 if (!RMW->use_empty() && Subtarget->hasAtomicFaddRtnInsts())
16236 if (RMW->use_empty() &&
16253 if (RMW->use_empty() && Subtarget->hasAtomicFaddNoRtnInsts())
16255 if (!RMW->use_empty() && Subtarget->hasAtomicFaddRtnInsts())
16264 Type *Ty = RMW->getType();
16270 if (unsafeFPAtomicsDisabled(RMW->getFunction()))
16318 return AMDGPUTargetLowering::shouldExpandAtomicRMWInIR(RMW);