diff options
| author | Evan Cheng <evan.cheng@apple.com> | 2008-03-18 08:26:47 +0000 |
|---|---|---|
| committer | Evan Cheng <evan.cheng@apple.com> | 2008-03-18 08:26:47 +0000 |
| commit | d096ec0a869e777c17510ced3ce4496e5983a1ee (patch) | |
| tree | bb85b14526bfc680ed7eb22c97d90841cc6ef753 /llvm/lib/CodeGen/SimpleRegisterCoalescing.h | |
| parent | 831c7c52c75752cdf85cd1040a0d88c8ea577cd9 (diff) | |
| download | bcm5719-llvm-d096ec0a869e777c17510ced3ce4496e5983a1ee.tar.gz bcm5719-llvm-d096ec0a869e777c17510ced3ce4496e5983a1ee.zip | |
Rewrite code that propagate isDead information after a dead copy is coalesced. This remove some ugly spaghetti code and fixed a number of subtle bugs.
llvm-svn: 48490
Diffstat (limited to 'llvm/lib/CodeGen/SimpleRegisterCoalescing.h')
| -rw-r--r-- | llvm/lib/CodeGen/SimpleRegisterCoalescing.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/SimpleRegisterCoalescing.h b/llvm/lib/CodeGen/SimpleRegisterCoalescing.h index cf204a538cf..cfac126607c 100644 --- a/llvm/lib/CodeGen/SimpleRegisterCoalescing.h +++ b/llvm/lib/CodeGen/SimpleRegisterCoalescing.h @@ -205,11 +205,15 @@ namespace llvm { /// due to live range lengthening as the result of coalescing. void RemoveUnnecessaryKills(unsigned Reg, LiveInterval &LI); + /// ShortenDeadCopyLiveRange - Shorten a live range defined by a dead copy. + /// + void ShortenDeadCopyLiveRange(LiveInterval &li, MachineInstr *CopyMI); + /// 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); + void ShortenDeadCopySrcLiveRange(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. |

