Lines Matching refs:RMWI
88 auto RMWI = dyn_cast<AtomicRMWInst>(I); in runOnFunction() local
90 assert((LI || SI || RMWI || CASI || isa<FenceInst>(I)) && in runOnFunction()
106 } else if (RMWI && (isAtLeastRelease(RMWI->getOrdering()) || in runOnFunction()
107 isAtLeastAcquire(RMWI->getOrdering()))) { in runOnFunction()
108 FenceOrdering = RMWI->getOrdering(); in runOnFunction()
109 RMWI->setOrdering(Monotonic); in runOnFunction()
133 } else if (RMWI) { in runOnFunction()
139 if (isIdempotentRMW(RMWI) && simplifyIdempotentRMW(RMWI)) { in runOnFunction()
142 MadeChange |= tryExpandAtomicRMW(RMWI); in runOnFunction()
537 bool AtomicExpand::isIdempotentRMW(AtomicRMWInst* RMWI) { in isIdempotentRMW() argument
538 auto C = dyn_cast<ConstantInt>(RMWI->getValOperand()); in isIdempotentRMW()
542 AtomicRMWInst::BinOp Op = RMWI->getOperation(); in isIdempotentRMW()
557 bool AtomicExpand::simplifyIdempotentRMW(AtomicRMWInst* RMWI) { in simplifyIdempotentRMW() argument
558 if (auto ResultingLoad = TLI->lowerIdempotentRMWIntoFencedLoad(RMWI)) { in simplifyIdempotentRMW()