Lines Matching defs:VRM

93   bool runOnMachineFunction(MachineFunction &MF, VirtRegMap &VRM,
118 if (!VRM.hasPhys(reg))
120 unsigned pReg = VRM.getPhys(reg);
424 VirtRegMap &VRM);
442 VirtRegMap &VRM) {
447 Rejected, RegKills, KillOps, VRM);
679 VirtRegMap &VRM) {
680 MachineInstr *ReMatDefMI = VRM.getReMaterializedMI(Reg);
696 unsigned Phys = VRM.getPhys(VirtReg);
873 VirtRegMap &VRM) {
893 Rejected, RegKills, KillOps, VRM);
930 Rejected, RegKills, KillOps, VRM);
934 ? VRM.getReMatId(NewOp.VirtReg) : (int) NewOp.StackSlotOrReMat;
943 TRI, VRM);
948 VRM.addSpillSlotUse(NewOp.StackSlotOrReMat, LoadMI);
983 VirtRegMap &VRM) {
984 if (VRM.hasEmergencySpills(&MI) || VRM.isSpillPt(&MI))
989 for (tie(I, End) = VRM.getFoldedVirts(&MI); I != End; ++I) {
993 if (VRM.getStackSlot(VirtReg) == SS) {
1008 if (!VRM.hasPhys(Reg))
1010 Reg = VRM.getPhys(Reg);
1102 VirtRegMap *VRM;
1112 bool runOnMachineFunction(MachineFunction &MF, VirtRegMap &VRM,
1117 VRM->RemoveMachineInstrFromMaps(MI);
1180 VRM = &vrm;
1242 int SS = VRM->getLowSpillSlot();
1244 for (int e = VRM->getHighSpillSlot(); SS <= e; ++SS) {
1246 if (!VRM->isSpillSlotUsed(SS)) {
1302 if (!FoldsStackSlotModRef(MI, SS, PhysReg, TII, TRI, *VRM))
1308 if (!FoldsStackSlotModRef(*NextMII, SS, PhysReg, TII, TRI, *VRM))
1328 VRM->transferRestorePts(&MI, NewMIs[0]);
1343 VRM->transferRestorePts(&NextMI, NewMIs[0]);
1353 } while (FoldsStackSlotModRef(*NextMII, SS, PhysReg, TII, TRI, *VRM));
1358 VRM->addSpillSlotUse(SS, StoreMI);
1359 VRM->virtFolded(VirtReg, StoreMI, VirtRegMap::isMod);
1389 for (tie(I, End) = VRM->getFoldedVirts(&MI); I != End; ) {
1398 if (VRM->isAssignedReg(UnfoldVR))
1402 FoldedSS = VRM->getStackSlot(UnfoldVR);
1430 if (VRM->isAssignedReg(VirtReg)) {
1431 unsigned PhysReg = VRM->getPhys(VirtReg);
1434 } else if (VRM->isReMaterialized(VirtReg))
1436 int SS = VRM->getStackSlot(VirtReg);
1443 if (VRM->hasPhys(VirtReg)) {
1444 PhysReg = VRM->getPhys(VirtReg);
1467 VRM->addSpillSlotUse(SS, FoldedMI);
1468 if (!VRM->hasPhys(UnfoldVR))
1469 VRM->assignVirt2Phys(UnfoldVR, UnfoldPR);
1470 VRM->virtFolded(VirtReg, FoldedMI, VirtRegMap::isRef);
1566 VRM->addSpillSlotUse(SS, FoldedMI);
1567 VRM->virtFolded(VirtReg, FoldedMI, VirtRegMap::isRef);
1573 VRM->addSpillSlotUse(SS, StoreMI);
1574 VRM->virtFolded(VirtReg, StoreMI, VirtRegMap::isMod);
1613 VRM->addSpillSlotUse(StackSlot, StoreMI);
1744 /// VRM. Return true if spills were inserted.
1746 if (!VRM->hasEmergencySpills(MI))
1750 std::vector<unsigned> &EmSpills = VRM->getEmergencySpills(MI);
1755 int SS = VRM->getEmergencySpillSlot(RC);
1761 VRM->addSpillSlotUse(SS, StoreMI);
1771 VRM->addSpillSlotUse(SS, LoadMI);
1778 /// InsertRestores - Restore registers before MI is requested by VRM. Return
1784 if (!VRM->isRestorePt(MI))
1787 std::vector<unsigned> &RestoreRegs = VRM->getRestorePtRestores(MI);
1790 if (!VRM->getPreSplitReg(VirtReg))
1792 unsigned Phys = VRM->getPhys(VirtReg);
1805 bool DoReMat = VRM->isReMaterialized(VirtReg);
1807 ? VRM->getReMatId(VirtReg) : VRM->getStackSlot(VirtReg);
1867 if (VRM->isReMaterialized(VirtReg)) {
1868 ReMaterialize(*MBB, InsertLoc, Phys, VirtReg, TII, TRI, *VRM);
1873 VRM->addSpillSlotUse(SSorRMId, LoadMI);
1889 /// InsertSpills - Insert spills after MI if requested by VRM. Return
1892 if (!VRM->isSpillPt(MI))
1896 VRM->getSpillPtSpills(MI);
1900 if (!VRM->getPreSplitReg(VirtReg))
1903 unsigned Phys = VRM->getPhys(VirtReg);
1904 int StackSlot = VRM->getStackSlot(VirtReg);
1909 VRM->addSpillSlotUse(StackSlot, StoreMI);
1911 VRM->virtFolded(VirtReg, StoreMI, VirtRegMap::isMod);
1976 if (VRM->isAssignedReg(VirtReg)) {
1978 unsigned Phys = VRM->getPhys(VirtReg);
1983 if (VRM->isImplicitlyDefined(VirtReg))
2004 bool DoReMat = VRM->isReMaterialized(VirtReg);
2006 ? VRM->getReMatId(VirtReg) : VRM->getStackSlot(VirtReg);
2069 << PrintReg(VRM->getPhys(VirtReg), TRI) << '\n');
2092 VRM->getPhys(VirtReg), VirtReg);
2132 unsigned DesignatedReg = VRM->getPhys(VirtReg);
2142 MaybeDeadStores, RegKills, KillOps, *VRM);
2191 PhysReg = VRM->getPhys(VirtReg);
2200 Spills, MaybeDeadStores, RegKills, KillOps, *VRM);
2213 ReMaterialize(*MBB, InsertLoc, PhysReg, VirtReg, TII, TRI, *VRM);
2218 VRM->addSpillSlotUse(SSorRMId, LoadMI);
2335 VRM->getFoldedVirts(&MI);
2345 int SS = VRM->getStackSlot(VirtReg);
2426 VRM->addSpillSlotUse(SS, NewStore);
2452 VRM->virtFolded(VirtReg, NewStore, VirtRegMap::isMod);
2547 bool DoReMat = VRM->isReMaterialized(VirtReg);
2552 int StackSlot = VRM->getStackSlot(VirtReg);
2568 PhysReg = VRM->getPhys(VirtReg);
2573 Spills, MaybeDeadStores, RegKills, KillOps, *VRM);