summaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen/LiveStackAnalysis.h
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2008-10-29 05:06:14 +0000
committerEvan Cheng <evan.cheng@apple.com>2008-10-29 05:06:14 +0000
commitd0e32c5d5c1bb03bc0cc8aeef52728724cab1c51 (patch)
tree9bfe91bf7475a0ee0c35dbadccb4b7949b4ad0fa /include/llvm/CodeGen/LiveStackAnalysis.h
parent980e842153e868fc0c5c261311d965d00271ca5d (diff)
downloadllvm-d0e32c5d5c1bb03bc0cc8aeef52728724cab1c51.tar.gz
llvm-d0e32c5d5c1bb03bc0cc8aeef52728724cab1c51.tar.bz2
llvm-d0e32c5d5c1bb03bc0cc8aeef52728724cab1c51.tar.xz
- Rewrite code that update register live interval that's split.
- Create and update spill slot live intervals. - Lots of bug fixes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58367 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/LiveStackAnalysis.h')
-rw-r--r--include/llvm/CodeGen/LiveStackAnalysis.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/include/llvm/CodeGen/LiveStackAnalysis.h b/include/llvm/CodeGen/LiveStackAnalysis.h
index 5c88bb83c5..6b5235a5d1 100644
--- a/include/llvm/CodeGen/LiveStackAnalysis.h
+++ b/include/llvm/CodeGen/LiveStackAnalysis.h
@@ -52,6 +52,22 @@ namespace llvm {
return I->second;
}
+ LiveInterval &getInterval(int Slot) {
+ SS2IntervalMap::iterator I = s2iMap.find(Slot);
+ assert(I != s2iMap.end() && "Interval does not exist for stack slot");
+ return I->second;
+ }
+
+ const LiveInterval &getInterval(int Slot) const {
+ SS2IntervalMap::const_iterator I = s2iMap.find(Slot);
+ assert(I != s2iMap.end() && "Interval does not exist for stack slot");
+ return I->second;
+ }
+
+ bool hasInterval(unsigned reg) const {
+ return s2iMap.count(reg);
+ }
+
BumpPtrAllocator& getVNInfoAllocator() { return VNInfoAllocator; }
virtual void getAnalysisUsage(AnalysisUsage &AU) const;