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.
288 unsigned VReg = getDstOfOnlyCopyToRegUse(Op.getNode(), Op.getResNo());
291 if (!VReg) {
294 VReg = MRI->createVirtualRegister(RC);
297 TII->get(TargetOpcode::IMPLICIT_DEF), VReg);
298 return VReg;
321 unsigned VReg = getVR(Op, VRBaseMap);
322 assert(TargetRegisterInfo::isVirtualRegister(VReg) && "Not a vreg?");
330 // shrink VReg's register class within reason. For example, if VReg == GR32
331 // and II requires a GR32_NOSP, just constrain VReg to GR32_NOSP.
336 if (DstRC && !MRI->constrainRegClass(VReg, DstRC, MinRCSize)) {
339 TII->get(TargetOpcode::COPY), NewVReg).addReg(VReg);
340 VReg = NewVReg;
366 MIB.addReg(VReg, getDefRegState(isOptDef) | getKillRegState(isKill) |
440 unsigned InstrEmitter::ConstrainForSubReg(unsigned VReg, unsigned SubIdx,
442 const TargetRegisterClass *VRC = MRI->getRegClass(VReg);
445 // RC is a sub-class of VRC that supports SubIdx. Try to constrain VReg
448 RC = MRI->constrainRegClass(VReg, RC, MinRCSize);
450 // VReg has been adjusted. It can be used with SubIdx operands now.
452 return VReg;
454 // VReg couldn't be reasonably constrained. Emit a COPY to a new virtual
460 .addReg(VReg);
472 // If the node is only used by a CopyToReg and the dest reg is a vreg, use
473 // the CopyToReg'd destination register instead of creating a new vreg.
493 unsigned VReg = getVR(Node->getOperand(0), VRBaseMap);
494 MachineInstr *DefMI = MRI->getVRegDef(VReg);
510 // VReg may not support a SubIdx sub-register, and we may need to
513 VReg = ConstrainForSubReg(VReg, SubIdx,
523 TII->get(TargetOpcode::COPY), VRBase).addReg(VReg, 0, SubIdx);
586 unsigned VReg = getVR(Node->getOperand(0), VRBaseMap);
588 // Create the new VReg in the destination class and emit a copy.
594 NewVReg).addReg(VReg);
619 // Skip physical registers as they don't have a vreg to get and we'll