Lines Matching refs:FirstMI
1155 // Returns true if FirstMI and MI are candidates for merging or pairing.
1157 static bool areCandidatesToMergeOrPair(MachineInstr &FirstMI, MachineInstr &MI,
1164 // We should have already checked FirstMI for pair suppression and volatility.
1165 assert(!FirstMI.hasOrderedMemoryRef() &&
1166 !TII->isLdStPairSuppressed(FirstMI) &&
1167 "FirstMI shouldn't get here if either of these checks are true.");
1169 unsigned OpcA = FirstMI.getOpcode();
1211 MachineInstr &FirstMI = *I;
1214 bool MayLoad = FirstMI.mayLoad();
1215 bool IsUnscaled = TII->isUnscaledLdSt(FirstMI);
1216 unsigned Reg = getLdStRegOp(FirstMI).getReg();
1217 unsigned BaseReg = getLdStBaseOp(FirstMI).getReg();
1218 int Offset = getLdStOffsetOp(FirstMI).getImm();
1219 int OffsetStride = IsUnscaled ? getMemScale(FirstMI) : 1;
1220 bool IsPromotableZeroStore = isPromotableZeroStoreInst(FirstMI);
1227 // Remember any instructions that read/write memory between FirstMI and MI.
1241 if (areCandidatesToMergeOrPair(FirstMI, MI, Flags, TII) &&
1255 // If FirstMI is scaled then scale the offset of MI accordingly.
1326 if (!ModifiedRegs[getLdStRegOp(FirstMI).getReg()] &&
1327 !(MayLoad && UsedRegs[getLdStRegOp(FirstMI).getReg()]) &&
1328 !mayAlias(FirstMI, MemInsns, TII)) {