Remove preexisting kill flags in RegAllocLocal, just like LiveVariables does.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Mon, 3 May 2010 23:49:20 +0000 (23:49 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Mon, 3 May 2010 23:49:20 +0000 (23:49 +0000)
This should make it possible to start producing kill flags in isel without
breaking stuff.

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

lib/CodeGen/RegAllocLocal.cpp

index 920ba5732adce6d32f515c3ac7825a5c66e0c8a1..94456d1438552a18bb3f8a1fe1410f2809b03fc3 100644 (file)
@@ -643,7 +643,10 @@ void RALocal::ComputeLocalLiveness(MachineBasicBlock& MBB) {
       // uses regs before it defs them.
       if (!MO.isReg() || !MO.getReg() || !MO.isUse())
         continue;
-      
+
+      // Ignore helpful kill flags from earlier passes.
+      MO.setIsKill(false);
+
       LastUseDef[MO.getReg()] = std::make_pair(I, i);
       
       if (TargetRegisterInfo::isVirtualRegister(MO.getReg())) continue;