Lines Matching refs:vreg
141 /// \brief Finds the initial set of vreg intervals to allocate.
165 assert(vregItr != node2VReg.end() && "No vreg for node.");
169 PBQP::Graph::NodeItr PBQPRAProblem::getNodeForVReg(unsigned vreg) const {
170 VReg2Node::const_iterator nodeItr = vreg2Node.find(vreg);
171 assert(nodeItr != vreg2Node.end() && "No node for vreg.");
177 PBQPRAProblem::getAllowedSet(unsigned vreg) const {
178 AllowedSetMap::const_iterator allowedSetItr = allowedSets.find(vreg);
179 assert(allowedSetItr != allowedSets.end() && "No pregs for vreg.");
184 unsigned PBQPRAProblem::getPRegForOption(unsigned vreg, unsigned option) const {
185 assert(isPRegOption(vreg, option) && "Not a preg option.");
187 const AllowedSet& allowedSet = getAllowedSet(vreg);
220 unsigned vreg = *vregItr;
221 const TargetRegisterClass *trc = mri->getRegClass(vreg);
222 const LiveInterval *vregLI = &lis->getInterval(vreg);
224 // Compute an initial allowed set for the current vreg.
277 p->recordVReg(vreg, node, vrAllowed.begin(), vrAllowed.end());
297 assert(!l2.empty() && "Empty interval in vreg set?");
528 unsigned vreg = problem.getVRegForNode(node);
531 if (problem.isPRegOption(vreg, alloc)) {
532 unsigned preg = problem.getPRegForOption(vreg, alloc);
533 DEBUG(dbgs() << "VREG " << vreg << " -> " << tri->getName(preg) << "\n");
535 vrm->assignVirt2Phys(vreg, preg);
536 } else if (problem.isSpillOption(vreg, alloc)) {
537 vregsToAlloc.erase(vreg);
538 const LiveInterval* spillInterval = &lis->getInterval(vreg);
547 DEBUG(dbgs() << "VREG " << vreg << " -> SPILLED (Cost: "
666 // Find the vreg intervals in need of allocation.