diff options
author | Evan Cheng <evan.cheng@apple.com> | 2007-02-22 23:03:39 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2007-02-22 23:03:39 +0000 |
commit | 30cac02a925c9d56613711b0e77099cb7252bc9b (patch) | |
tree | 20e9cfc5a008b268a82f51f731badf48ad1ac94d /include | |
parent | 774b864f0e7f3812e7daddf8553649e995ce040a (diff) | |
download | external_llvm-30cac02a925c9d56613711b0e77099cb7252bc9b.zip external_llvm-30cac02a925c9d56613711b0e77099cb7252bc9b.tar.gz external_llvm-30cac02a925c9d56613711b0e77099cb7252bc9b.tar.bz2 |
Remove unnecessary isKill properties if a live range has been lengthened due to coalescing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34503 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/CodeGen/LiveIntervalAnalysis.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/llvm/CodeGen/LiveIntervalAnalysis.h b/include/llvm/CodeGen/LiveIntervalAnalysis.h index 69103a3..dc72807 100644 --- a/include/llvm/CodeGen/LiveIntervalAnalysis.h +++ b/include/llvm/CodeGen/LiveIntervalAnalysis.h @@ -172,6 +172,13 @@ namespace llvm { } private: + /// isRemoved - returns true if the specified machine instr has been + /// removed. + bool isRemoved(MachineInstr* instr) const { + Mi2IndexMap::const_iterator it = mi2iMap_.find(instr); + return it == mi2iMap_.end(); + } + /// RemoveMachineInstrFromMaps - This marks the specified machine instr as /// deleted. void RemoveMachineInstrFromMaps(MachineInstr *MI) { @@ -256,6 +263,10 @@ namespace llvm { /// reg between indexes Start and End. bool hasRegisterUse(unsigned Reg, unsigned Start, unsigned End); + /// unsetRegisterKill - Unset IsKill property of all uses of specific + /// register of the specific instruction. + void unsetRegisterKill(MachineInstr *MI, unsigned Reg); + static LiveInterval createInterval(unsigned Reg); void removeInterval(unsigned Reg) { |