Lines Matching refs:PhysReg
108 virtual void markPhysRegUsed(unsigned PhysReg) {
109 MIRBuilder.getMRI()->addLiveIn(PhysReg);
110 MIRBuilder.getMBB().addLiveIn(PhysReg);
127 void markPhysRegUsed(unsigned PhysReg) override {
128 MIB.addDef(PhysReg, RegState::Implicit);
139 Register PhysReg = VA.getLocReg();
140 if (VT == MVT::f64 && PhysReg >= Mips::A0 && PhysReg <= Mips::A3) {
145 auto Lo = MIRBuilder.buildCopy(s32, Register(PhysReg + (IsEL ? 0 : 1)));
146 auto Hi = MIRBuilder.buildCopy(s32, Register(PhysReg + (IsEL ? 1 : 0)));
148 markPhysRegUsed(PhysReg);
149 markPhysRegUsed(PhysReg + 1);
150 } else if (VT == MVT::f32 && PhysReg >= Mips::A0 && PhysReg <= Mips::A3) {
151 MIRBuilder.buildCopy(ValVReg, PhysReg);
152 markPhysRegUsed(PhysReg);
158 auto Copy = MIRBuilder.buildCopy(LLT{VA.getLocVT()}, PhysReg);
163 MIRBuilder.buildCopy(ValVReg, PhysReg);
166 markPhysRegUsed(PhysReg);
240 Register PhysReg = VA.getLocReg();
241 if (VT == MVT::f64 && PhysReg >= Mips::A0 && PhysReg <= Mips::A3) {
246 MIRBuilder.buildCopy(Register(PhysReg + (IsEL ? 0 : 1)), Unmerge.getReg(0));
247 MIRBuilder.buildCopy(Register(PhysReg + (IsEL ? 1 : 0)), Unmerge.getReg(1));
248 } else if (VT == MVT::f32 && PhysReg >= Mips::A0 && PhysReg <= Mips::A3) {
249 MIRBuilder.buildCopy(PhysReg, ValVReg);
252 MIRBuilder.buildCopy(PhysReg, ExtReg);
253 MIB.addUse(PhysReg, RegState::Implicit);