Lines Matching refs:CASI
155 static unsigned getAtomicOpSize(AtomicCmpXchgInst *CASI) { in getAtomicOpSize() argument
156 const DataLayout &DL = CASI->getModule()->getDataLayout(); in getAtomicOpSize()
157 return DL.getTypeStoreSize(CASI->getCompareOperand()->getType()); in getAtomicOpSize()
194 auto CASI = dyn_cast<AtomicCmpXchgInst>(I); in runOnFunction() local
195 assert((LI || SI || RMWI || CASI) && "Unknown atomic instruction"); in runOnFunction()
216 } else if (CASI) { in runOnFunction()
217 if (!atomicSizeSupported(TLI, CASI)) { in runOnFunction()
218 expandAtomicCASToLibcall(CASI); in runOnFunction()
236 } else if (CASI && in runOnFunction()
237 TLI->shouldExpandAtomicCmpXchgInIR(CASI) == in runOnFunction()
239 (isReleaseOrStronger(CASI->getSuccessOrdering()) || in runOnFunction()
240 isAcquireOrStronger(CASI->getSuccessOrdering()) || in runOnFunction()
241 isAcquireOrStronger(CASI->getFailureOrdering()))) { in runOnFunction()
246 FenceOrdering = CASI->getMergedOrdering(); in runOnFunction()
247 CASI->setSuccessOrdering(AtomicOrdering::Monotonic); in runOnFunction()
248 CASI->setFailureOrdering(AtomicOrdering::Monotonic); in runOnFunction()
310 } else if (CASI) { in runOnFunction()
313 assert(!CASI->getCompareOperand()->getType()->isFloatingPointTy() && in runOnFunction()
315 if (CASI->getCompareOperand()->getType()->isPointerTy()) { in runOnFunction()
318 CASI = convertCmpXchgToIntegerType(CASI); in runOnFunction()
319 assert(CASI->getCompareOperand()->getType()->isIntegerTy() && in runOnFunction()
324 MadeChange |= tryExpandAtomicCmpXchg(CASI); in runOnFunction()