Home | History | Annotate | Download | only in SelectionDAG

Lines Matching defs:VReg

100   // If the node is only used by a CopyToReg and the dest reg is a vreg, use
101 // the CopyToReg'd destination register instead of creating a new vreg.
217 // is a vreg in the same register class, use the CopyToReg'd destination
218 // register instead of creating a new vreg.
284 unsigned VReg = getDstOfOnlyCopyToRegUse(Op.getNode(), Op.getResNo());
287 if (!VReg) {
290 VReg = MRI->createVirtualRegister(RC);
293 TII->get(TargetOpcode::IMPLICIT_DEF), VReg);
294 return VReg;
317 unsigned VReg = getVR(Op, VRBaseMap);
318 assert(TargetRegisterInfo::isVirtualRegister(VReg) && "Not a vreg?");
326 // shrink VReg's register class within reason. For example, if VReg == GR32
327 // and II requires a GR32_NOSP, just constrain VReg to GR32_NOSP.
332 if (DstRC && !MRI->constrainRegClass(VReg, DstRC, MinRCSize)) {
335 TII->get(TargetOpcode::COPY), NewVReg).addReg(VReg);
336 VReg = NewVReg;
362 MIB.addReg(VReg, getDefRegState(isOptDef) | getKillRegState(isKill) |
436 unsigned InstrEmitter::ConstrainForSubReg(unsigned VReg, unsigned SubIdx,
438 const TargetRegisterClass *VRC = MRI->getRegClass(VReg);
441 // RC is a sub-class of VRC that supports SubIdx. Try to constrain VReg
444 RC = MRI->constrainRegClass(VReg, RC, MinRCSize);
446 // VReg has been adjusted. It can be used with SubIdx operands now.
448 return VReg;
450 // VReg couldn't be reasonably constrained. Emit a COPY to a new virtual
456 .addReg(VReg);
468 // If the node is only used by a CopyToReg and the dest reg is a vreg, use
469 // the CopyToReg'd destination register instead of creating a new vreg.
489 unsigned VReg = getVR(Node->getOperand(0), VRBaseMap);
490 MachineInstr *DefMI = MRI->getVRegDef(VReg);
506 // VReg may not support a SubIdx sub-register, and we may need to
509 VReg = ConstrainForSubReg(VReg, SubIdx,
519 TII->get(TargetOpcode::COPY), VRBase).addReg(VReg, 0, SubIdx);
582 unsigned VReg = getVR(Node->getOperand(0), VRBaseMap);
584 // Create the new VReg in the destination class and emit a copy.
590 NewVReg).addReg(VReg);
615 // Skip physical registers as they don't have a vreg to get and we'll