summaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen/LiveIntervalAnalysis.h
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2007-02-22 23:03:39 +0000
committerEvan Cheng <evan.cheng@apple.com>2007-02-22 23:03:39 +0000
commit30cac02a925c9d56613711b0e77099cb7252bc9b (patch)
tree20e9cfc5a008b268a82f51f731badf48ad1ac94d /include/llvm/CodeGen/LiveIntervalAnalysis.h
parent774b864f0e7f3812e7daddf8553649e995ce040a (diff)
downloadllvm-30cac02a925c9d56613711b0e77099cb7252bc9b.tar.gz
llvm-30cac02a925c9d56613711b0e77099cb7252bc9b.tar.bz2
llvm-30cac02a925c9d56613711b0e77099cb7252bc9b.tar.xz
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/llvm/CodeGen/LiveIntervalAnalysis.h')
-rw-r--r--include/llvm/CodeGen/LiveIntervalAnalysis.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/llvm/CodeGen/LiveIntervalAnalysis.h b/include/llvm/CodeGen/LiveIntervalAnalysis.h
index 69103a31f1..dc72807e71 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) {