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 | ecb2a8b9bc727308a0ccfbd92c87b7533c68aab8 (patch) | |
tree | 4314f6810c9b690c54dd12139bffae6b5c113344 /lib/CodeGen/SimpleRegisterCoalescing.h | |
parent | c5eb380b60689c0993e07025872a9038be967b40 (diff) | |
download | external_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.h | 6 |
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, |