Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:vreg

143   /// \brief Finds the initial set of vreg intervals to allocate.
163 assert(vregItr != node2VReg.end() && "No vreg for node.");
167 PBQP::Graph::NodeItr PBQPRAProblem::getNodeForVReg(unsigned vreg) const {
168 VReg2Node::const_iterator nodeItr = vreg2Node.find(vreg);
169 assert(nodeItr != vreg2Node.end() && "No node for vreg.");
175 PBQPRAProblem::getAllowedSet(unsigned vreg) const {
176 AllowedSetMap::const_iterator allowedSetItr = allowedSets.find(vreg);
177 assert(allowedSetItr != allowedSets.end() && "No pregs for vreg.");
182 unsigned PBQPRAProblem::getPRegForOption(unsigned vreg, unsigned option) const {
183 assert(isPRegOption(vreg, option) && "Not a preg option.");
185 const AllowedSet& allowedSet = getAllowedSet(vreg);
213 unsigned vreg = *vregItr;
214 const TargetRegisterClass *trc = mri->getRegClass(vreg);
215 LiveInterval *vregLI = &LIS->getInterval(vreg);
221 // Compute an initial allowed set for the current vreg.
254 p->recordVReg(vreg, node, vrAllowed.begin(), vrAllowed.end());
274 assert(!l2.empty() && "Empty interval in vreg set?");
483 unsigned vreg = problem.getVRegForNode(node);
486 if (problem.isPRegOption(vreg, alloc)) {
487 unsigned preg = problem.getPRegForOption(vreg, alloc);
488 DEBUG(dbgs() << "VREG " << PrintReg(vreg, tri) << " -> "
491 vrm->assignVirt2Phys(vreg, preg);
492 } else if (problem.isSpillOption(vreg, alloc)) {
493 vregsToAlloc.erase(vreg);
495 LiveRangeEdit LRE(&lis->getInterval(vreg), newSpills, *mf, *lis, vrm);
498 DEBUG(dbgs() << "VREG " << PrintReg(vreg, tri) << " -> SPILLED (Cost: "
569 // Find the vreg intervals in need of allocation.