aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2012-09-15 16:32:11 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2012-09-15 16:32:11 +0000
commitab9baf7ff4b58b3905bccad68c8d2ab59ea4202b (patch)
tree4adafd601ef132f6be103d9b9b6a9534357f8ea8
parent9ae03fa69f6bc19acd8043414160320c1da0c3da (diff)
Don't depend on kill flags in removeCopyByCommutingDef().
Kill flags are removed more and more aggressively during the register allocation passes, it is better to get information from LiveIntervals. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163972 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/CodeGen/RegisterCoalescer.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/CodeGen/RegisterCoalescer.cpp b/lib/CodeGen/RegisterCoalescer.cpp
index d018835456..f8165d3fe0 100644
--- a/lib/CodeGen/RegisterCoalescer.cpp
+++ b/lib/CodeGen/RegisterCoalescer.cpp
@@ -583,7 +583,7 @@ bool RegisterCoalescer::removeCopyByCommutingDef(const CoalescerPair &CP,
MachineOperand &NewDstMO = DefMI->getOperand(NewDstIdx);
unsigned NewReg = NewDstMO.getReg();
- if (NewReg != IntB.reg || !NewDstMO.isKill())
+ if (NewReg != IntB.reg || !LiveRangeQuery(IntB, AValNo->def).isKill())
return false;
// Make sure there are no other definitions of IntB that would reach the