summaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineSink.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/CodeGen/MachineSink.cpp')
-rw-r--r--llvm/lib/CodeGen/MachineSink.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/llvm/lib/CodeGen/MachineSink.cpp b/llvm/lib/CodeGen/MachineSink.cpp
index 9ec5151a039b..d5153b7fb620 100644
--- a/llvm/lib/CodeGen/MachineSink.cpp
+++ b/llvm/lib/CodeGen/MachineSink.cpp
@@ -2187,11 +2187,9 @@ static void clearKillFlags(MachineInstr *MI, MachineBasicBlock &CurBB,
static void updateLiveIn(MachineInstr *MI, MachineBasicBlock *SuccBB,
const SmallVectorImpl<unsigned> &UsedOpsInCopy,
const SmallVectorImpl<Register> &DefedRegsInCopy) {
- MachineFunction &MF = *SuccBB->getParent();
- const TargetRegisterInfo *TRI = MF.getSubtarget().getRegisterInfo();
for (Register DefReg : DefedRegsInCopy)
- for (MCPhysReg S : TRI->subregs_inclusive(DefReg))
- SuccBB->removeLiveIn(S);
+ SuccBB->removeLiveInOverlappedWith(DefReg);
+
for (auto U : UsedOpsInCopy)
SuccBB->addLiveIn(MI->getOperand(U).getReg());
SuccBB->sortUniqueLiveIns();