Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:SrcIdx

185     bool getNextSourceImpl(unsigned &SrcIdx, unsigned &SrcSubReg);
187 bool getNextSourceFromCopy(unsigned &SrcIdx, unsigned &SrcSubReg);
189 bool getNextSourceFromBitcast(unsigned &SrcIdx, unsigned &SrcSubReg);
192 bool getNextSourceFromRegSequence(unsigned &SrcIdx, unsigned &SrcSubReg);
195 bool getNextSourceFromInsertSubreg(unsigned &SrcIdx, unsigned &SrcSubReg);
198 bool getNextSourceFromExtractSubreg(unsigned &SrcIdx, unsigned &SrcSubReg);
201 bool getNextSourceFromSubregToReg(unsigned &SrcIdx, unsigned &SrcSubReg);
231 /// \p SrcIdx gives the index of the next source in the returned
235 const MachineInstr *getNextSource(unsigned &SrcIdx, unsigned &SrcSubReg);
462 unsigned SrcIdx, DefIdx;
465 SrcIdx, DefIdx) != nullptr;
484 /// and one register definition. Otherwise, \p DefIdx and \p SrcIdx
487 unsigned &DefIdx, unsigned &SrcIdx) {
494 SrcIdx = 1;
502 // Initialize SrcIdx to an undefined operand.
503 SrcIdx = Copy.getDesc().getNumOperands();
504 for (unsigned OpIdx = 0, EndOpIdx = SrcIdx; OpIdx != EndOpIdx; ++OpIdx) {
510 else if (SrcIdx != EndOpIdx)
513 SrcIdx = OpIdx;
532 unsigned DefIdx, SrcIdx;
533 if (!MI || !getCopyOrBitcastDefUseIdx(*MI, DefIdx, SrcIdx))
577 if (!ShouldRewrite || Src == MI->getOperand(SrcIdx).getReg())
784 bool ValueTracker::getNextSourceFromCopy(unsigned &SrcIdx,
796 SrcIdx = 1;
797 SrcSubReg = Def->getOperand(SrcIdx).getSubReg();
801 bool ValueTracker::getNextSourceFromBitcast(unsigned &SrcIdx,
817 SrcIdx = Def->getDesc().getNumOperands();
818 for (unsigned OpIdx = DefIdx + 1, EndOpIdx = SrcIdx; OpIdx != EndOpIdx;
824 if (SrcIdx != EndOpIdx)
827 SrcIdx = OpIdx;
829 SrcSubReg = Def->getOperand(SrcIdx).getSubReg();
833 bool ValueTracker::getNextSourceFromRegSequence(unsigned &SrcIdx,
865 SrcIdx = OpIdx;
866 SrcSubReg = Def->getOperand(SrcIdx).getSubReg();
877 bool ValueTracker::getNextSourceFromInsertSubreg(unsigned &SrcIdx,
895 SrcIdx = 2;
896 SrcSubReg = Def->getOperand(SrcIdx).getSubReg();
924 SrcIdx = 1;
929 bool ValueTracker::getNextSourceFromExtractSubreg(unsigned &SrcIdx,
945 SrcIdx = 1;
950 bool ValueTracker::getNextSourceFromSubregToReg(unsigned &SrcIdx,
967 SrcIdx = 2;
972 bool ValueTracker::getNextSourceImpl(unsigned &SrcIdx, unsigned &SrcSubReg) {
979 return getNextSourceFromCopy(SrcIdx, SrcSubReg);
981 return getNextSourceFromBitcast(SrcIdx, SrcSubReg);
987 return getNextSourceFromRegSequence(SrcIdx, SrcSubReg);
989 return getNextSourceFromInsertSubreg(SrcIdx, SrcSubReg);
991 return getNextSourceFromExtractSubreg(SrcIdx, SrcSubReg);
993 return getNextSourceFromSubregToReg(SrcIdx, SrcSubReg);
997 const MachineInstr *ValueTracker::getNextSource(unsigned &SrcIdx,
1006 if (getNextSourceImpl(SrcIdx, SrcSubReg)) {
1009 const MachineOperand &MO = Def->getOperand(SrcIdx);