Lines Matching defs:RegSubRegPair
101 using RegSubRegPair = TargetInstrInfo::RegSubRegPair;
186 virtual bool getNextRewritableSource(RegSubRegPair &Src,
187 RegSubRegPair &Dst) = 0;
202 bool getNextRewritableSource(RegSubRegPair &Src,
203 RegSubRegPair &Dst) override {
212 Src = RegSubRegPair(MOSrc.getReg(), MOSrc.getSubReg());
215 Dst = RegSubRegPair(MODef.getReg(), MODef.getSubReg());
243 bool getNextRewritableSource(RegSubRegPair &Src,
244 RegSubRegPair &Dst) override {
256 Src = RegSubRegPair(0, 0);
258 Dst = RegSubRegPair(MODef.getReg(), MODef.getSubReg());
287 bool getNextRewritableSource(RegSubRegPair &Src,
288 RegSubRegPair &Dst) override {
295 Src = RegSubRegPair(MOInsertedReg.getReg(), MOInsertedReg.getSubReg());
303 Dst = RegSubRegPair(MODef.getReg(),
334 bool getNextRewritableSource(RegSubRegPair &Src,
335 RegSubRegPair &Dst) override {
347 RegSubRegPair(MOExtractedReg.getReg(), CopyLike.getOperand(2).getImm());
351 Dst = RegSubRegPair(MODef.getReg(), MODef.getSubReg());
404 bool getNextRewritableSource(RegSubRegPair &Src,
405 RegSubRegPair &Dst) override {
459 using RewriteMapTy = SmallDenseMap<RegSubRegPair, ValueTrackerResult>;
477 bool findNextSource(RegSubRegPair RegSubReg, RewriteMapTy &RewriteMap);
532 MachineInstr &rewriteSource(MachineInstr &CopyLike, RegSubRegPair Def,
537 DenseMap<RegSubRegPair, MachineInstr *> CopySrcMIs;
542 bool getCopySrc(MachineInstr &MI, RegSubRegPair &SrcPair) {
551 SrcPair = RegSubRegPair(SrcReg, SrcSubReg);
558 RegSubRegPair SrcPair;
629 SmallVector<RegSubRegPair, 2> RegSrcs;
650 RegSrcs.push_back(RegSubRegPair(SrcReg, SrcSubReg));
655 RegSrcs[Idx] = RegSubRegPair(SrcReg, SrcSubReg);
660 RegSubRegPair getSrc(int Idx) const { return RegSrcs[Idx]; }
1014 bool PeepholeOptimizer::findNextSource(RegSubRegPair RegSubReg,
1025 SmallVector<RegSubRegPair, 4> SrcToLook;
1026 RegSubRegPair CurSrcPair = RegSubReg;
1111 const SmallVectorImpl<RegSubRegPair> &SrcRegs,
1125 for (const RegSubRegPair &RegPair : SrcRegs) {
1144 static RegSubRegPair
1146 RegSubRegPair Def,
1149 RegSubRegPair LookupSrc(Def.Reg, Def.SubReg);
1170 SmallVector<RegSubRegPair, 4> NewPHISrcs;
1172 RegSubRegPair PHISrc(Res.getSrcReg(i), Res.getSrcSubReg(i));
1184 return RegSubRegPair(MODef.getReg(), MODef.getSubReg());
1187 return RegSubRegPair(0, 0);
1194 RegSubRegPair Src;
1195 RegSubRegPair TrackPair;
1206 RegSubRegPair NewSrc = getNewSource(MRI, TII, TrackPair, RewriteMap,
1272 RegSubRegPair Def,
1277 RegSubRegPair NewSrc = getNewSource(MRI, TII, Def, RewriteMap);
1326 RegSubRegPair Src;
1327 RegSubRegPair Def;
1328 SmallVector<RegSubRegPair, 4> RewritePairs;
1344 for (const RegSubRegPair &Def : RewritePairs) {
1455 RegSubRegPair SrcPair;
2013 RegSubRegPair BaseReg;