Lines Matching defs:LdSt

1163 bool CombinerHelper::isIndexedLoadStoreLegal(GLoadStore &LdSt) const {
1165 LLT PtrTy = MRI.getType(LdSt.getPointerReg());
1166 LLT Ty = MRI.getType(LdSt.getReg(0));
1167 LLT MemTy = LdSt.getMMO().getMemoryType();
1171 unsigned IndexedOpc = getIndexedOpc(LdSt.getOpcode());
1187 bool CombinerHelper::findPostIndexCandidate(GLoadStore &LdSt, Register &Addr,
1197 Register Ptr = LdSt.getPointerReg();
1202 if (!isIndexedLoadStoreLegal(LdSt))
1208 MachineInstr *StoredValDef = getDefIgnoringCopies(LdSt.getReg(0), MRI);
1229 !TLI.isIndexingLegal(LdSt, PtrAdd->getBaseReg(), Offset,
1236 if (!dominates(*OffsetDef, LdSt)) {
1251 if (BasePtrLdSt && BasePtrLdSt != &LdSt &&
1252 dominates(LdSt, *BasePtrLdSt) &&
1263 if (BaseUseUse.getParent() != LdSt.getParent())
1270 if (!dominates(LdSt, BasePtrUse))
1283 bool CombinerHelper::findPreIndexCandidate(GLoadStore &LdSt, Register &Addr,
1286 auto &MF = *LdSt.getParent()->getParent();
1289 Addr = LdSt.getPointerReg();
1295 !TLI.isIndexingLegal(LdSt, Base, Offset, /*IsPre*/ true, MRI))
1298 if (!isIndexedLoadStoreLegal(LdSt))
1305 if (auto *St = dyn_cast<GStore>(&LdSt)) {
1318 if (AddrUse.getParent() != LdSt.getParent())
1325 if (!dominates(LdSt, AddrUse))
1448 auto &LdSt = cast<GLoadStore>(MI);
1450 if (LdSt.isAtomic())
1453 MatchInfo.IsPre = findPreIndexCandidate(LdSt, MatchInfo.Addr, MatchInfo.Base,
1456 !findPostIndexCandidate(LdSt, MatchInfo.Addr, MatchInfo.Base,
1756 if (auto *LdSt = dyn_cast<GLoadStore>(&UseMI)) {
1757 AccessTy = getTypeForLLT(MRI.getType(LdSt->getReg(0)),