Defs are seen before uses, so a def without the kill flag doesn't necessarily
mean that the register is not killed on that instruction. It may be killed
in a later use operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217689
91177308-0d34-0410-b5e6-
96231b3b80d8
// determine if a chain should be ended and remove from ActiveChains.
MachineInstr *MI = MO.getParent();
+ if (MO.isReg() && MO.isDef())
+ // We don't care about defs. We see them before uses, so reject them early.
+ return;
+
if (MO.isReg()) {
// If this is a KILL of a current chain, record it.