diff options
| author | Evan Cheng <evan.cheng@apple.com> | 2008-03-05 22:09:42 +0000 |
|---|---|---|
| committer | Evan Cheng <evan.cheng@apple.com> | 2008-03-05 22:09:42 +0000 |
| commit | 29b502e0e0b31c4a8d98a1ec507991f92292735d (patch) | |
| tree | 9b99aa34d651728886f51fac4f0b377d0ad4deaa /llvm/lib/CodeGen/SimpleRegisterCoalescing.h | |
| parent | 3b1c95f8858b212252b66e2e0551a85b372b5b50 (diff) | |
| download | bcm5719-llvm-29b502e0e0b31c4a8d98a1ec507991f92292735d.tar.gz bcm5719-llvm-29b502e0e0b31c4a8d98a1ec507991f92292735d.zip | |
Fix a coalescer bug wrt how dead copy interval is shortened.
llvm-svn: 47966
Diffstat (limited to 'llvm/lib/CodeGen/SimpleRegisterCoalescing.h')
| -rw-r--r-- | llvm/lib/CodeGen/SimpleRegisterCoalescing.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SimpleRegisterCoalescing.h b/llvm/lib/CodeGen/SimpleRegisterCoalescing.h index 1c216203020..543d4704d10 100644 --- a/llvm/lib/CodeGen/SimpleRegisterCoalescing.h +++ b/llvm/lib/CodeGen/SimpleRegisterCoalescing.h @@ -201,6 +201,12 @@ namespace llvm { /// subregister. void UpdateRegDefsUses(unsigned SrcReg, unsigned DstReg, unsigned SubIdx); + /// ShortenDeadCopyLiveRange - Shorten a live range as it's artificially + /// extended by a dead copy. Mark the last use (if any) of the val# as kill + /// as ends the live range there. If there isn't another use, then this + /// live range is dead. + void ShortenDeadCopyLiveRange(LiveInterval &li, MachineInstr *CopyMI); + /// lastRegisterUse - Returns the last use of the specific register between /// cycles Start and End or NULL if there are no uses. MachineOperand *lastRegisterUse(unsigned Start, unsigned End, unsigned Reg, |

