+ unsigned SubReg = *SubRegs; ++SubRegs)
+ addRegisterKills(SubReg, MI, SubKills);
+}
+
+/// HandlePhysRegKill - The recursive version of HandlePhysRegKill. Returns true
+/// if:
+///
+/// - The register has no sub-registers and the machine instruction is the
+/// last def/use of the register, or
+/// - The register has sub-registers and none of them are killed elsewhere.
+///
+bool LiveVariables::HandlePhysRegKill(unsigned Reg, const MachineInstr *RefMI,
+ SmallSet<unsigned, 4> &SubKills) {
+ const unsigned *SubRegs = RegInfo->getImmediateSubRegisters(Reg);
+
+ for (; unsigned SubReg = *SubRegs; ++SubRegs) {
+ const MachineInstr *LastRef = PhysRegInfo[SubReg];
+