Lines Matching defs:QueryInst

242     BasicBlock *BB, Instruction *QueryInst, unsigned *Limit,
245 if (QueryInst != nullptr) {
246 if (auto *LI = dyn_cast<LoadInst>(QueryInst)) {
254 MemLoc, isLoad, ScanIt, BB, QueryInst, Limit, BatchAA);
270 BasicBlock *BB, Instruction *QueryInst, unsigned *Limit) {
272 return getPointerDependencyFrom(MemLoc, isLoad, ScanIt, BB, QueryInst, Limit,
369 BasicBlock *BB, Instruction *QueryInst, unsigned *Limit,
381 // QueryInst is not a simple (non-atomic) memory access, we automatically
411 if (isLoad && QueryInst)
412 if (LoadInst *LI = dyn_cast<LoadInst>(QueryInst)) {
487 if (!QueryInst)
488 // Original QueryInst *may* be volatile
490 if (QueryInst->isVolatile())
491 // Ordering required if QueryInst is itself volatile
501 if (!QueryInst ||
502 isComplexForReordering(QueryInst, AtomicOrdering::NotAtomic))
546 if (!QueryInst ||
547 isComplexForReordering(QueryInst, AtomicOrdering::Unordered))
550 // QueryInst is a non-atomic or unordered load/store.
553 // instructions, as soon as QueryInst is not seq_cst we can consider it
564 if (!QueryInst || QueryInst->isVolatile())
647 MemDepResult MemoryDependenceResults::getDependency(Instruction *QueryInst) {
649 Instruction *ScanPos = QueryInst;
652 MemDepResult &LocalCache = LocalDeps[QueryInst];
664 RemoveFromReverseMap(ReverseLocalDeps, Inst, QueryInst);
667 BasicBlock *QueryParent = QueryInst->getParent();
670 if (BasicBlock::iterator(QueryInst) == QueryParent->begin()) {
679 ModRefInfo MR = GetLocation(QueryInst, MemLoc, TLI);
683 if (auto *II = dyn_cast<IntrinsicInst>(QueryInst))
688 QueryParent, QueryInst, nullptr);
689 } else if (auto *QueryCall = dyn_cast<CallBase>(QueryInst)) {
700 ReverseLocalDeps[I].insert(QueryInst);
749 // Seed DirtyBlocks with each of the preds of QueryInst's block.
798 // We're removing QueryInst's use of Inst.
804 // Find out if this block has a local dependency for QueryInst.
843 Instruction *QueryInst, SmallVectorImpl<NonLocalDepResult> &Result) {
844 const MemoryLocation Loc = MemoryLocation::get(QueryInst);
845 bool isLoad = isa<LoadInst>(QueryInst);
846 BasicBlock *FromBB = QueryInst->getParent();
854 auto NonLocalDefIt = NonLocalDefsCache.find(QueryInst);
858 .erase(QueryInst);
864 // Doing so would require piping through the QueryInst all the way through.
879 if (QueryInst->isVolatile() || isOrdered(QueryInst)) {
892 if (getNonLocalPointerDepFromBB(QueryInst, Address, Loc, isLoad, FromBB,
906 Instruction *QueryInst, const MemoryLocation &Loc, bool isLoad,
912 if (LoadInst *LI = dyn_cast_or_null<LoadInst>(QueryInst))
959 QueryInst, nullptr, BatchAA);
1038 Instruction *QueryInst, const PHITransAddr &Pointer,
1055 if (LoadInst *LI = dyn_cast_or_null<LoadInst>(QueryInst))
1101 QueryInst, Pointer, Loc.getWithoutAATags(), isLoad, StartBB, Result,
1210 QueryInst, Loc, isLoad, BB, Cache, NumSortedEntries, BatchAA);
1345 !getNonLocalPointerDepFromBB(QueryInst, PredPointer,