Lines Matching defs:Stores
358 bool LoadStoreOpt::doSingleStoreMerge(SmallVectorImpl<GStore *> &Stores) {
359 assert(Stores.size() > 1);
365 GStore *FirstStore = Stores[0];
366 const unsigned NumStores = Stores.size();
372 DebugLoc MergedLoc = Stores.front()->getDebugLoc();
373 for (auto *Store : drop_begin(Stores))
376 Builder.setInstr(*Stores.back());
383 for (auto *Store : Stores) {
417 LLVM_DEBUG(dbgs() << "Merged " << Stores.size()
419 LLVM_DEBUG(for (auto *MI : Stores) dbgs() << " " << *MI;);
420 NumStoresMerged += Stores.size();
427 R << "Merged " << NV("NumMerged", Stores.size()) << " stores of "
434 for (auto *MI : Stores)
440 if (C.Stores.size() < 2) {
445 LLVM_DEBUG(dbgs() << "Checking store merge candidate with " << C.Stores.size()
446 << " stores, starting with " << *C.Stores[0]);
451 // C.Stores = [ST1, ST2, ST3, ST4]
482 for (int StoreIdx = C.Stores.size() - 1; StoreIdx >= 0; --StoreIdx) {
483 auto *CheckStore = C.Stores[StoreIdx];
501 if (C.Stores.empty())
503 return llvm::any_of(C.Stores, [&](MachineInstr *OtherMI) {
509 PotentialAliases.emplace_back(std::make_pair(&MI, Stores.size() - 1));
536 if (C.Stores.empty()) {
549 C.Stores.emplace_back(&StoreMI);
556 if (MRI->getType(C.Stores[0]->getValueReg()).getSizeInBits() !=
560 if (MRI->getType(C.Stores[0]->getPointerReg()).getAddressSpace() !=
577 C.Stores.emplace_back(&StoreMI);
607 if (Candidate.Stores.empty())
613 Candidate.Stores.clear();
907 SmallVector<GStore *, 16> Stores;
912 Stores.emplace_back(StoreMI);
914 for (auto *StoreMI : Stores) {