Lines Matching refs:VR

216     unsigned operator[](unsigned VR) const {  in operator []()
217 const_iterator F = find(VR); in operator []()
274 const BitTracker::RegisterCell &lookup(unsigned VR) { in lookup()
275 unsigned RInd = Register::virtReg2Index(VR); in lookup()
281 CP = CVect[RInd] = &BT.lookup(VR); in lookup()
390 void insert(unsigned VR);
391 void remove(unsigned VR);
443 void OrderedRegisterList::insert(unsigned VR) { in insert() argument
444 iterator L = llvm::lower_bound(Seq, VR, Ord); in insert()
446 Seq.push_back(VR); in insert()
448 Seq.insert(L, VR); in insert()
456 void OrderedRegisterList::remove(unsigned VR) { in remove() argument
457 iterator L = llvm::lower_bound(Seq, VR, Ord); in remove()
532 bool isConstant(unsigned VR) const;
533 bool isSmallConstant(unsigned VR) const;
536 bool findSelfReference(unsigned VR) const;
537 bool findNonSelfReference(unsigned VR) const;
546 bool findRecordInsertForms(unsigned VR, OrderedRegisterList &AVs);
548 void findRemovableRegisters(unsigned VR, IFRecord IF,
553 void pruneCoveredSets(unsigned VR);
554 void pruneUsesTooFar(unsigned VR, const UnsignedMap &RPO, PairMapType &M);
555 void pruneRegCopies(unsigned VR);
649 bool HexagonGenInsert::isConstant(unsigned VR) const { in isConstant()
650 const BitTracker::RegisterCell &RC = CMS->lookup(VR); in isConstant()
661 bool HexagonGenInsert::isSmallConstant(unsigned VR) const { in isSmallConstant()
662 const BitTracker::RegisterCell &RC = CMS->lookup(VR); in isSmallConstant()
706 bool HexagonGenInsert::findSelfReference(unsigned VR) const { in findSelfReference()
707 const BitTracker::RegisterCell &RC = CMS->lookup(VR); in findSelfReference()
710 if (V.Type == BitTracker::BitValue::Ref && V.RefI.Reg == VR) in findSelfReference()
716 bool HexagonGenInsert::findNonSelfReference(unsigned VR) const { in findNonSelfReference()
717 BitTracker::RegisterCell RC = CMS->lookup(VR); in findNonSelfReference()
720 if (V.Type == BitTracker::BitValue::Ref && V.RefI.Reg != VR) in findNonSelfReference()
799 bool HexagonGenInsert::findRecordInsertForms(unsigned VR, in findRecordInsertForms() argument
802 dbgs() << __func__ << ": " << printReg(VR, HRI) in findRecordInsertForms()
811 const BitTracker::RegisterCell &RC = CMS->lookup(VR); in findRecordInsertForms()
837 RegisterCellBitCompareSel RCB(VR, S+L, L, BVO, *CMS); in findRecordInsertForms()
838 iterator NewB = std::lower_bound(B, E, VR, RCB); in findRecordInsertForms()
839 iterator NewE = std::upper_bound(NewB, E, VR, RCB); in findRecordInsertForms()
867 dbgs() << "Prefixes matching register " << printReg(VR, HRI) << "\n"; in findRecordInsertForms()
916 if (!isValidInsertForm(VR, SrcR, InsR, L, S)) in findRecordInsertForms()
919 dbgs() << printReg(VR, HRI) << " = insert(" << printReg(SrcR, HRI) in findRecordInsertForms()
924 IFMap[VR].push_back(RR); in findRecordInsertForms()
958 for (unsigned VR = InsDefs.find_first(); VR; VR = InsDefs.find_next(VR)) { in collectInBlock() local
961 if (!DoConst && isConstant(VR)) in collectInBlock()
967 if (findSelfReference(VR) || isSmallConstant(VR)) in collectInBlock()
970 findRecordInsertForms(VR, AVs); in collectInBlock()
979 for (unsigned VR = InsDefs.find_first(); VR; VR = InsDefs.find_next(VR)) in collectInBlock() local
980 AVs.insert(VR); in collectInBlock()
989 for (unsigned VR = BlockDefs.find_first(); VR; VR = BlockDefs.find_next(VR)) in collectInBlock() local
990 AVs.remove(VR); in collectInBlock()
993 void HexagonGenInsert::findRemovableRegisters(unsigned VR, IFRecord IF, in findRemovableRegisters() argument
1002 Regs[S].insert(VR); in findRemovableRegisters()
1041 RMs.remove(VR); in findRemovableRegisters()
1065 void HexagonGenInsert::pruneCoveredSets(unsigned VR) { in pruneCoveredSets() argument
1066 IFMapType::iterator F = IFMap.find(VR); in pruneCoveredSets()
1077 MachineInstr *DefVR = MRI->getVRegDef(VR); in pruneCoveredSets()
1150 void HexagonGenInsert::pruneUsesTooFar(unsigned VR, const UnsignedMap &RPO, in pruneUsesTooFar() argument
1152 IFMapType::iterator F = IFMap.find(VR); in pruneUsesTooFar()
1156 const MachineInstr *DefV = MRI->getVRegDef(VR); in pruneUsesTooFar()
1172 void HexagonGenInsert::pruneRegCopies(unsigned VR) { in pruneRegCopies() argument
1173 IFMapType::iterator F = IFMap.find(VR); in pruneRegCopies()
1401 unsigned VR = I->first; in generateInserts() local
1402 const TargetRegisterClass *RC = MRI->getRegClass(VR); in generateInserts()
1404 RegMap[VR] = NewVR; in generateInserts()
1542 unsigned VR = I->first, Pos = I->second; in runOnMachineFunction() local
1543 dbgs() << printReg(VR, HRI) << " -> " << Pos << "\n"; in runOnMachineFunction()