Lines Matching refs:CASI
166 static unsigned getAtomicOpSize(AtomicCmpXchgInst *CASI) { in getAtomicOpSize() argument
167 const DataLayout &DL = CASI->getModule()->getDataLayout(); in getAtomicOpSize()
168 return DL.getTypeStoreSize(CASI->getCompareOperand()->getType()); in getAtomicOpSize()
207 auto CASI = dyn_cast<AtomicCmpXchgInst>(I); in runOnFunction() local
208 assert((LI || SI || RMWI || CASI) && "Unknown atomic instruction"); in runOnFunction()
229 } else if (CASI) { in runOnFunction()
230 if (!atomicSizeSupported(TLI, CASI)) { in runOnFunction()
231 expandAtomicCASToLibcall(CASI); in runOnFunction()
251 } else if (CASI) { in runOnFunction()
254 if (CASI->getCompareOperand()->getType()->isPointerTy()) { in runOnFunction()
257 I = CASI = convertCmpXchgToIntegerType(CASI); in runOnFunction()
274 } else if (CASI && in runOnFunction()
275 TLI->shouldExpandAtomicCmpXchgInIR(CASI) == in runOnFunction()
277 (isReleaseOrStronger(CASI->getSuccessOrdering()) || in runOnFunction()
278 isAcquireOrStronger(CASI->getSuccessOrdering()) || in runOnFunction()
279 isAcquireOrStronger(CASI->getFailureOrdering()))) { in runOnFunction()
284 FenceOrdering = CASI->getMergedOrdering(); in runOnFunction()
285 CASI->setSuccessOrdering(AtomicOrdering::Monotonic); in runOnFunction()
286 CASI->setFailureOrdering(AtomicOrdering::Monotonic); in runOnFunction()
299 else if (CASI && TLI->shouldExpandAtomicCmpXchgInIR(CASI) != in runOnFunction()
302 FenceOrdering = CASI->getSuccessOrdering(); in runOnFunction()
337 } else if (CASI) in runOnFunction()
338 MadeChange |= tryExpandAtomicCmpXchg(CASI); in runOnFunction()