Don't skip the CopyMI when removing kill markers.
authorOwen Anderson <resistor@mac.com>
Mon, 27 Apr 2009 19:55:47 +0000 (19:55 +0000)
committerOwen Anderson <resistor@mac.com>
Mon, 27 Apr 2009 19:55:47 +0000 (19:55 +0000)
This should have no effect on generated code, but makes the intermediate state
of the coalescer more sane.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70238 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SimpleRegisterCoalescing.cpp

index 719dd94a5604ab9352282e8de265877515460cf4..520ecb3c4d61b8977463170977cbd9920194cbe1 100644 (file)
@@ -772,8 +772,6 @@ void SimpleRegisterCoalescing::RemoveUnnecessaryKills(unsigned Reg,
     if (UseMO.isKill()) {
       MachineInstr *UseMI = UseMO.getParent();
       unsigned UseIdx = li_->getUseIndex(li_->getInstructionIndex(UseMI));
     if (UseMO.isKill()) {
       MachineInstr *UseMI = UseMO.getParent();
       unsigned UseIdx = li_->getUseIndex(li_->getInstructionIndex(UseMI));
-      if (JoinedCopies.count(UseMI))
-        continue;
       const LiveRange *UI = LI.getLiveRangeContaining(UseIdx);
       if (!UI || !LI.isKill(UI->valno, UseIdx+1))
         UseMO.setIsKill(false);
       const LiveRange *UI = LI.getLiveRangeContaining(UseIdx);
       if (!UI || !LI.isKill(UI->valno, UseIdx+1))
         UseMO.setIsKill(false);