Lines Matching refs:MemoryLocation
209 class MemoryLocation {
236 static MemoryLocation get(const LoadInst *LI);
237 static MemoryLocation get(const StoreInst *SI);
238 static MemoryLocation get(const VAArgInst *VI);
239 static MemoryLocation get(const AtomicCmpXchgInst *CXI);
240 static MemoryLocation get(const AtomicRMWInst *RMWI);
241 static MemoryLocation get(const Instruction *Inst) { in get()
242 return *MemoryLocation::getOrNone(Inst); in get()
244 static Optional<MemoryLocation> getOrNone(const Instruction *Inst);
247 static MemoryLocation getForSource(const MemTransferInst *MTI);
248 static MemoryLocation getForSource(const AtomicMemTransferInst *MTI);
249 static MemoryLocation getForSource(const AnyMemTransferInst *MTI);
253 static MemoryLocation getForDest(const MemIntrinsic *MI);
254 static MemoryLocation getForDest(const AtomicMemIntrinsic *MI);
255 static MemoryLocation getForDest(const AnyMemIntrinsic *MI);
258 static MemoryLocation getForArgument(const CallBase *Call, unsigned ArgIdx,
260 static MemoryLocation getForArgument(const CallBase *Call, unsigned ArgIdx, in getForArgument()
267 static MemoryLocation getAfter(const Value *Ptr,
269 return MemoryLocation(Ptr, LocationSize::afterPointer(), AATags);
274 static MemoryLocation
276 return MemoryLocation(Ptr, LocationSize::beforeOrAfterPointer(), AATags);
285 MemoryLocation() in MemoryLocation() function
288 explicit MemoryLocation(const Value *Ptr, LocationSize Size,
292 MemoryLocation getWithNewPtr(const Value *NewPtr) const { in getWithNewPtr()
293 MemoryLocation Copy(*this); in getWithNewPtr()
298 MemoryLocation getWithNewSize(LocationSize NewSize) const { in getWithNewSize()
299 MemoryLocation Copy(*this); in getWithNewSize()
304 MemoryLocation getWithoutAATags() const { in getWithoutAATags()
305 MemoryLocation Copy(*this); in getWithoutAATags()
310 bool operator==(const MemoryLocation &Other) const {
331 template <> struct DenseMapInfo<MemoryLocation> {
332 static inline MemoryLocation getEmptyKey() {
333 return MemoryLocation(DenseMapInfo<const Value *>::getEmptyKey(),
336 static inline MemoryLocation getTombstoneKey() {
337 return MemoryLocation(DenseMapInfo<const Value *>::getTombstoneKey(),
340 static unsigned getHashValue(const MemoryLocation &Val) {
345 static bool isEqual(const MemoryLocation &LHS, const MemoryLocation &RHS) {