Lines Matching refs:Access
195 InterestingMemoryAccess &Access);
291 InterestingMemoryAccess Access; in isInterestingMemoryAccess() local
296 Access.IsWrite = false; in isInterestingMemoryAccess()
297 Access.AccessTy = LI->getType(); in isInterestingMemoryAccess()
298 Access.Addr = LI->getPointerOperand(); in isInterestingMemoryAccess()
302 Access.IsWrite = true; in isInterestingMemoryAccess()
303 Access.AccessTy = SI->getValueOperand()->getType(); in isInterestingMemoryAccess()
304 Access.Addr = SI->getPointerOperand(); in isInterestingMemoryAccess()
308 Access.IsWrite = true; in isInterestingMemoryAccess()
309 Access.AccessTy = RMW->getValOperand()->getType(); in isInterestingMemoryAccess()
310 Access.Addr = RMW->getPointerOperand(); in isInterestingMemoryAccess()
314 Access.IsWrite = true; in isInterestingMemoryAccess()
315 Access.AccessTy = XCHG->getCompareOperand()->getType(); in isInterestingMemoryAccess()
316 Access.Addr = XCHG->getPointerOperand(); in isInterestingMemoryAccess()
327 Access.AccessTy = CI->getArgOperand(0)->getType(); in isInterestingMemoryAccess()
328 Access.IsWrite = true; in isInterestingMemoryAccess()
332 Access.AccessTy = CI->getType(); in isInterestingMemoryAccess()
333 Access.IsWrite = false; in isInterestingMemoryAccess()
337 Access.MaybeMask = CI->getOperand(2 + OpOffset); in isInterestingMemoryAccess()
338 Access.Addr = BasePtr; in isInterestingMemoryAccess()
342 if (!Access.Addr) in isInterestingMemoryAccess()
347 Type *PtrTy = cast<PointerType>(Access.Addr->getType()->getScalarType()); in isInterestingMemoryAccess()
355 if (Access.Addr->isSwiftError()) in isInterestingMemoryAccess()
359 auto *Addr = Access.Addr->stripInBoundsOffsets(); in isInterestingMemoryAccess()
378 Access.TypeSize = DL.getTypeStoreSizeInBits(Access.AccessTy); in isInterestingMemoryAccess()
379 return Access; in isInterestingMemoryAccess()
417 InterestingMemoryAccess &Access) { in instrumentMop() argument
419 if (!ClStack && isa<AllocaInst>(getUnderlyingObject(Access.Addr))) { in instrumentMop()
420 if (Access.IsWrite) in instrumentMop()
427 if (Access.IsWrite) in instrumentMop()
432 if (Access.MaybeMask) { in instrumentMop()
433 instrumentMaskedLoadOrStore(DL, Access.MaybeMask, I, Access.Addr, in instrumentMop()
434 Access.AccessTy, Access.IsWrite); in instrumentMop()
439 instrumentAddress(I, I, Access.Addr, Access.TypeSize, Access.IsWrite); in instrumentMop()
601 std::optional<InterestingMemoryAccess> Access = in instrumentFunction() local
603 if (Access) in instrumentFunction()
604 instrumentMop(Inst, F.getParent()->getDataLayout(), *Access); in instrumentFunction()