Lines Matching defs:Load
1 //===- LoopLoadElimination.cpp - Loop Load Elimination Pass ---------------===//
75 "Load Elimination"));
83 LoadInst *Load;
86 StoreToLoadForwardingCandidate(LoadInst *Load, StoreInst *Store)
87 : Load(Load), Store(Store) {}
94 Value *LoadPtr = Load->getPointerOperand();
96 Type *LoadType = getLoadStoreType(Load);
97 auto &DL = Load->getDataLayout();
135 Value *getLoadPtr() const { return Load->getPointerOperand(); }
141 OS.indent(2) << *Cand.Load << "\n";
161 static bool isLoadConditional(LoadInst *Load, Loop *L) {
162 return Load->getParent() != L->getHeader();
219 auto *Load = dyn_cast<LoadInst>(Destination);
220 if (!Load)
225 getLoadStoreType(Store), getLoadStoreType(Load),
229 Candidates.emplace_front(Load, Store);
234 return LoadsWithUnknownDependence.count(C.Load);
279 LoadToSingleCand.insert(std::make_pair(Cand.Load, &Cand));
301 if (LoadToSingleCand[Cand.Load] != &Cand) {
356 return getInstrIndex(A.Load) <
357 getInstrIndex(B.Load);
359 ->Load;
439 Value *Ptr = Cand.Load->getPointerOperand();
446 new LoadInst(Cand.Load->getType(), InitialPtr, "load_initial",
447 /* isVolatile */ false, Cand.Load->getAlign(),
460 auto &DL = Cand.Load->getDataLayout();
474 cast<Instruction>(StoreValue)->setDebugLoc(Cand.Load->getDebugLoc());
479 Cand.Load->replaceAllUsesWith(PHI);
480 PHI->setDebugLoc(Cand.Load->getDebugLoc());
535 if (isLoadConditional(Cand.Load, L))
543 assert(isa<SCEVAddRecExpr>(PSE.getSCEV(Cand.Load->getPointerOperand())) &&
606 PSE.getSCEV(Cand.Load->getPointerOperand())) ||