Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:physReg

313     void addRegUse(unsigned physReg) {
314 assert(TargetRegisterInfo::isPhysicalRegister(physReg) &&
316 ++regUse_[physReg];
317 for (const unsigned* as = tri_->getAliasSet(physReg); *as; ++as)
321 void delRegUse(unsigned physReg) {
322 assert(TargetRegisterInfo::isPhysicalRegister(physReg) &&
324 assert(regUse_[physReg] != 0);
325 --regUse_[physReg];
326 for (const unsigned* as = tri_->getAliasSet(physReg); *as; ++as) {
332 bool isRegAvail(unsigned physReg) const {
333 assert(TargetRegisterInfo::isPhysicalRegister(physReg) &&
335 return regUse_[physReg] == 0;
864 unsigned PhysReg = vrm_->getPhys(Reg);
869 if (tri_->regsOverlap(PhysReg, Candidate)) {
879 unsigned PhysReg = vrm_->getPhys(Reg);
884 if (tri_->regsOverlap(PhysReg, Candidate)) {
973 unsigned physReg = vrm_->getRegAllocPref(cur->reg);
974 if (!physReg)
975 physReg = getFirstNonReservedPhysReg(RC);
976 DEBUG(dbgs() << tri_->getName(physReg) << '\n');
978 vrm_->assignVirt2Phys(cur->reg, physReg);
1041 unsigned physReg = getFreePhysReg(cur);
1042 unsigned BestPhysReg = physReg;
1043 if (physReg) {
1048 for (const unsigned *AS = tri_->getAliasSet(physReg); *AS; ++AS)
1054 if (physReg == IP.first->reg || RegAliases.count(IP.first->reg)) {
1098 physReg = getFreePhysReg(cur);
1109 if (physReg) {
1110 DEBUG(dbgs() << tri_->getName(physReg) << '\n');
1111 assert(RC->contains(physReg) && "Invalid candidate");
1112 vrm_->assignVirt2Phys(cur->reg, physReg);
1113 addRegUse(physReg);
1117 // Remember physReg for avoiding a write-after-write hazard in the next
1121 avoidWAW_ = physReg;
1124 UpgradeRegister(physReg);
1126 // "Downgrade" physReg to try to keep physReg from being allocated until
1128 mri_->setRegAllocationHint(NextReloadLI->reg, 0, physReg);
1129 DowngradeRegister(cur, physReg);
1429 unsigned physReg = Hint.second;
1430 if (TargetRegisterInfo::isVirtualRegister(physReg) && vrm_->hasPhys(physReg))
1431 physReg = vrm_->getPhys(physReg);
1435 Order = tri_->getRawAllocationOrder(RC, Hint.first, physReg, *mf_);