diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-07-31 02:47:24 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-07-31 02:47:24 +0000 |
commit | 0c807dfae27a0424d4fbb5aa64e31cc4cc0db501 (patch) | |
tree | 4866755270af46e98e5391766cef3ad4c74faa5b /llvm/lib/CodeGen | |
parent | 06b2b4a7c940a299473e5fece3fa31fe58233aff (diff) | |
download | bcm5719-llvm-0c807dfae27a0424d4fbb5aa64e31cc4cc0db501.tar.gz bcm5719-llvm-0c807dfae27a0424d4fbb5aa64e31cc4cc0db501.zip |
Clear kill flags in removeCopyByCommutingDef().
We are extending live ranges, so kill flags are not accurate. They
aren't needed until they are recomputed after RA anyway.
<rdar://problem/11950722>
llvm-svn: 161023
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/RegisterCoalescer.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/RegisterCoalescer.cpp b/llvm/lib/CodeGen/RegisterCoalescer.cpp index 733312fbd0a..349fcde5ef7 100644 --- a/llvm/lib/CodeGen/RegisterCoalescer.cpp +++ b/llvm/lib/CodeGen/RegisterCoalescer.cpp @@ -657,6 +657,8 @@ bool RegisterCoalescer::removeCopyByCommutingDef(const CoalescerPair &CP, LiveInterval::iterator ULR = IntA.FindLiveRangeContaining(UseIdx); if (ULR == IntA.end() || ULR->valno != AValNo) continue; + // Kill flags are no longer accurate. They are recomputed after RA. + UseMO.setIsKill(false); if (TargetRegisterInfo::isPhysicalRegister(NewReg)) UseMO.substPhysReg(NewReg, *TRI); else |