Lines Matching refs:RMWI
97 auto RMWI = dyn_cast<AtomicRMWInst>(I); in runOnFunction() local
99 assert((LI || SI || RMWI || CASI || isa<FenceInst>(I)) && in runOnFunction()
115 } else if (RMWI && (isAtLeastRelease(RMWI->getOrdering()) || in runOnFunction()
116 isAtLeastAcquire(RMWI->getOrdering()))) { in runOnFunction()
117 FenceOrdering = RMWI->getOrdering(); in runOnFunction()
118 RMWI->setOrdering(Monotonic); in runOnFunction()
160 } else if (RMWI) { in runOnFunction()
166 if (isIdempotentRMW(RMWI) && simplifyIdempotentRMW(RMWI)) { in runOnFunction()
169 MadeChange |= tryExpandAtomicRMW(RMWI); in runOnFunction()
595 bool AtomicExpand::isIdempotentRMW(AtomicRMWInst* RMWI) { in isIdempotentRMW() argument
596 auto C = dyn_cast<ConstantInt>(RMWI->getValOperand()); in isIdempotentRMW()
600 AtomicRMWInst::BinOp Op = RMWI->getOperation(); in isIdempotentRMW()
615 bool AtomicExpand::simplifyIdempotentRMW(AtomicRMWInst* RMWI) { in simplifyIdempotentRMW() argument
616 if (auto ResultingLoad = TLI->lowerIdempotentRMWIntoFencedLoad(RMWI)) { in simplifyIdempotentRMW()