aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/SimpleRegisterCoalescing.h
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2008-03-05 22:09:42 +0000
committerEvan Cheng <evan.cheng@apple.com>2008-03-05 22:09:42 +0000
commitecb2a8b9bc727308a0ccfbd92c87b7533c68aab8 (patch)
tree4314f6810c9b690c54dd12139bffae6b5c113344 /lib/CodeGen/SimpleRegisterCoalescing.h
parentc5eb380b60689c0993e07025872a9038be967b40 (diff)
downloadexternal_llvm-ecb2a8b9bc727308a0ccfbd92c87b7533c68aab8.zip
external_llvm-ecb2a8b9bc727308a0ccfbd92c87b7533c68aab8.tar.gz
external_llvm-ecb2a8b9bc727308a0ccfbd92c87b7533c68aab8.tar.bz2
Fix a coalescer bug wrt how dead copy interval is shortened.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47966 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SimpleRegisterCoalescing.h')
-rw-r--r--lib/CodeGen/SimpleRegisterCoalescing.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/CodeGen/SimpleRegisterCoalescing.h b/lib/CodeGen/SimpleRegisterCoalescing.h
index 1c21620..543d470 100644
--- a/lib/CodeGen/SimpleRegisterCoalescing.h
+++ b/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,