Lines Matching refs:Load
88 LoadInst *Load; member
91 StoreToLoadForwardingCandidate(LoadInst *Load, StoreInst *Store) in StoreToLoadForwardingCandidate()
92 : Load(Load), Store(Store) {} in StoreToLoadForwardingCandidate()
98 Value *LoadPtr = Load->getPointerOperand(); in isDependenceDistanceOfOne()
100 Type *LoadType = getLoadStoreType(Load); in isDependenceDistanceOfOne()
114 auto &DL = Load->getParent()->getModule()->getDataLayout(); in isDependenceDistanceOfOne()
128 Value *getLoadPtr() const { return Load->getPointerOperand(); } in getLoadPtr()
134 OS.indent(2) << *Cand.Load << "\n"; in operator <<()
154 static bool isLoadConditional(LoadInst *Load, Loop *L) { in isLoadConditional() argument
155 return Load->getParent() != L->getHeader(); in isLoadConditional()
210 auto *Load = dyn_cast<LoadInst>(Destination); in findStoreToLoadDependences() local
211 if (!Load) in findStoreToLoadDependences()
215 if (Store->getPointerOperandType() != Load->getPointerOperandType() || in findStoreToLoadDependences()
216 getLoadStoreType(Store) != getLoadStoreType(Load)) in findStoreToLoadDependences()
219 Candidates.emplace_front(Load, Store); in findStoreToLoadDependences()
224 return LoadsWithUnknownDepedence.count(C.Load); in findStoreToLoadDependences()
269 LoadToSingleCand.insert(std::make_pair(Cand.Load, &Cand)); in removeDependencesFromMultipleStores()
291 if (LoadToSingleCand[Cand.Load] != &Cand) { in removeDependencesFromMultipleStores()
346 return getInstrIndex(A.Load) < getInstrIndex(B.Load); in findPointersWrittenOnForwardingPath()
348 ->Load; in findPointersWrittenOnForwardingPath()
428 Value *Ptr = Cand.Load->getPointerOperand(); in propagateStoredValueToLoadUsers()
435 Cand.Load->getType(), InitialPtr, "load_initial", in propagateStoredValueToLoadUsers()
436 /* isVolatile */ false, Cand.Load->getAlign(), PH->getTerminator()); in propagateStoredValueToLoadUsers()
443 Cand.Load->replaceAllUsesWith(PHI); in propagateStoredValueToLoadUsers()
498 if (isLoadConditional(Cand.Load, L)) in processLoop()
506 assert(isa<SCEVAddRecExpr>(PSE.getSCEV(Cand.Load->getPointerOperand())) && in processLoop()
572 PSE.getSCEV(Cand.Load->getPointerOperand())) || in processLoop()