summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SimpleRegisterCoalescing.h
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2008-03-18 08:26:47 +0000
committerEvan Cheng <evan.cheng@apple.com>2008-03-18 08:26:47 +0000
commitd096ec0a869e777c17510ced3ce4496e5983a1ee (patch)
treebb85b14526bfc680ed7eb22c97d90841cc6ef753 /llvm/lib/CodeGen/SimpleRegisterCoalescing.h
parent831c7c52c75752cdf85cd1040a0d88c8ea577cd9 (diff)
downloadbcm5719-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.h6
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.
OpenPOWER on IntegriCloud