Lines Matching refs:Load
90 LoadInst *Load; member
93 StoreToLoadForwardingCandidate(LoadInst *Load, StoreInst *Store) in StoreToLoadForwardingCandidate()
94 : Load(Load), Store(Store) {} in StoreToLoadForwardingCandidate()
100 Value *LoadPtr = Load->getPointerOperand(); in isDependenceDistanceOfOne()
102 Type *LoadType = getLoadStoreType(Load); in isDependenceDistanceOfOne()
116 auto &DL = Load->getParent()->getModule()->getDataLayout(); in isDependenceDistanceOfOne()
130 Value *getLoadPtr() const { return Load->getPointerOperand(); } in getLoadPtr()
136 OS.indent(2) << *Cand.Load << "\n"; in operator <<()
156 static bool isLoadConditional(LoadInst *Load, Loop *L) { in isLoadConditional() argument
157 return Load->getParent() != L->getHeader(); in isLoadConditional()
212 auto *Load = dyn_cast<LoadInst>(Destination); in findStoreToLoadDependences() local
213 if (!Load) in findStoreToLoadDependences()
217 if (Store->getPointerOperandType() != Load->getPointerOperandType()) in findStoreToLoadDependences()
220 Candidates.emplace_front(Load, Store); in findStoreToLoadDependences()
225 return LoadsWithUnknownDepedence.count(C.Load); in findStoreToLoadDependences()
270 LoadToSingleCand.insert(std::make_pair(Cand.Load, &Cand)); in removeDependencesFromMultipleStores()
292 if (LoadToSingleCand[Cand.Load] != &Cand) { in removeDependencesFromMultipleStores()
347 return getInstrIndex(A.Load) < getInstrIndex(B.Load); in findPointersWrittenOnForwardingPath()
349 ->Load; in findPointersWrittenOnForwardingPath()
429 Value *Ptr = Cand.Load->getPointerOperand(); in propagateStoredValueToLoadUsers()
436 Cand.Load->getType(), InitialPtr, "load_initial", in propagateStoredValueToLoadUsers()
437 /* isVolatile */ false, Cand.Load->getAlign(), PH->getTerminator()); in propagateStoredValueToLoadUsers()
444 Cand.Load->replaceAllUsesWith(PHI); in propagateStoredValueToLoadUsers()
499 if (isLoadConditional(Cand.Load, L)) in processLoop()
507 assert(isa<SCEVAddRecExpr>(PSE.getSCEV(Cand.Load->getPointerOperand())) && in processLoop()
573 PSE.getSCEV(Cand.Load->getPointerOperand())) || in processLoop()