OSDN Git Service
(root)
/
android-x86
/
external-llvm.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
bc025fb
)
If the liveinterval of the source instruction has been extended, remove the IsKill...
author
Evan Cheng
<evan.cheng@apple.com>
Sun, 25 Feb 2007 09:41:59 +0000
(09:41 +0000)
committer
Evan Cheng
<evan.cheng@apple.com>
Sun, 25 Feb 2007 09:41:59 +0000
(09:41 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34594
91177308
-0d34-0410-b5e6-
96231b3b80d8
lib/CodeGen/LiveIntervalAnalysis.cpp
patch
|
blob
|
history
diff --git
a/lib/CodeGen/LiveIntervalAnalysis.cpp
b/lib/CodeGen/LiveIntervalAnalysis.cpp
index
ce2e429
..
5e17a73
100644
(file)
--- a/
lib/CodeGen/LiveIntervalAnalysis.cpp
+++ b/
lib/CodeGen/LiveIntervalAnalysis.cpp
@@
-828,6
+828,12
@@
bool LiveIntervals::AdjustCopiesBackFrom(LiveInterval &IntA, LiveInterval &IntB,
IntB.MergeValueNumberInto(BValNo, ValLR->ValId);
DOUT << " result = "; IntB.print(DOUT, mri_);
DOUT << "\n";
+
+ // If the source instruction was killing the source register before the
+ // merge, unset the isKill marker given the live range has been extended.
+ MachineOperand *MOK = ValLREndInst->findRegisterUseOperand(IntB.reg, true);
+ if (MOK)
+ MOK->unsetIsKill();
// Finally, delete the copy instruction.
RemoveMachineInstrFromMaps(CopyMI);