• Home
  • Raw
  • Download

Lines Matching refs:CASI

125 unsigned getAtomicOpSize(AtomicCmpXchgInst *CASI) {  in getAtomicOpSize()  argument
126 const DataLayout &DL = CASI->getModule()->getDataLayout(); in getAtomicOpSize()
127 return DL.getTypeStoreSize(CASI->getCompareOperand()->getType()); in getAtomicOpSize()
157 unsigned getAtomicOpAlign(AtomicCmpXchgInst *CASI) { in getAtomicOpAlign() argument
159 const DataLayout &DL = CASI->getModule()->getDataLayout(); in getAtomicOpAlign()
160 return DL.getTypeStoreSize(CASI->getCompareOperand()->getType()); in getAtomicOpAlign()
195 auto CASI = dyn_cast<AtomicCmpXchgInst>(I); in runOnFunction() local
196 assert((LI || SI || RMWI || CASI) && "Unknown atomic instruction"); in runOnFunction()
217 } else if (CASI) { in runOnFunction()
218 if (!atomicSizeSupported(TLI, CASI)) { in runOnFunction()
219 expandAtomicCASToLibcall(CASI); in runOnFunction()
243 } else if (CASI && !TLI->shouldExpandAtomicCmpXchgInIR(CASI) && in runOnFunction()
244 (isReleaseOrStronger(CASI->getSuccessOrdering()) || in runOnFunction()
245 isAcquireOrStronger(CASI->getSuccessOrdering()))) { in runOnFunction()
250 FenceOrdering = CASI->getSuccessOrdering(); in runOnFunction()
251 CASI->setSuccessOrdering(AtomicOrdering::Monotonic); in runOnFunction()
252 CASI->setFailureOrdering(AtomicOrdering::Monotonic); in runOnFunction()
294 } else if (CASI) { in runOnFunction()
297 assert(!CASI->getCompareOperand()->getType()->isFloatingPointTy() && in runOnFunction()
299 if (CASI->getCompareOperand()->getType()->isPointerTy() ) { in runOnFunction()
302 CASI = convertCmpXchgToIntegerType(CASI); in runOnFunction()
303 assert(CASI->getCompareOperand()->getType()->isIntegerTy() && in runOnFunction()
309 unsigned ValueSize = getAtomicOpSize(CASI); in runOnFunction()
311 assert(!TLI->shouldExpandAtomicCmpXchgInIR(CASI) && in runOnFunction()
313 expandPartwordCmpXchg(CASI); in runOnFunction()
315 if (TLI->shouldExpandAtomicCmpXchgInIR(CASI)) in runOnFunction()
316 MadeChange |= expandAtomicCmpXchg(CASI); in runOnFunction()