Lines Matching full:stores
305 /// Match a 128b store of zero and split it into two 64 bit stores, for
317 return false; // Don't split truncating stores.
512 bool tryOptimizeConsecStores(SmallVectorImpl<StoreInfo> &Stores,
580 SmallVectorImpl<StoreInfo> &Stores, CSEMIRBuilder &MIB) {
581 if (Stores.size() <= 2)
585 int64_t BaseOffset = Stores[0].Offset;
586 unsigned NumPairsExpected = Stores.size() / 2;
587 unsigned TotalInstsExpected = NumPairsExpected + (Stores.size() % 2);
593 int SavingsExpected = Stores.size() - TotalInstsExpected;
599 // We have a series of consecutive stores. Factor out the common base
601 Register NewBase = Stores[0].Ptr->getReg(0);
602 for (auto &SInfo : Stores) {
614 LLVM_DEBUG(dbgs() << "Split a series of " << Stores.size()
615 << " stores into a base pointer and offsets.\n");
631 // doing so has prevented the formation of pair stores due to illegal
654 SmallVector<StoreInfo, 8> Stores;
701 return New.Offset - Stores[0].Offset <= MaxLegalOffset;
705 Stores.clear();
734 if (Stores.empty()) {
735 Stores.push_back(New);
740 auto &Last = Stores.back();
742 Stores.push_back(New);
747 Changed |= tryOptimizeConsecStores(Stores, MIB);
749 Stores.push_back(New);
756 Changed |= tryOptimizeConsecStores(Stores, MIB);