aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2008-02-13 02:48:26 +0000
committerEvan Cheng <evan.cheng@apple.com>2008-02-13 02:48:26 +0000
commitd2b8d7bc51b0e41d09b32aeaa550358ccb379009 (patch)
tree0965152b9a18fa912b641d525450825ff073dcce /include
parenta4d16a1f0dcdd1ab2862737105f900e2c577532d (diff)
- Added removeValNo() to remove all live ranges of a particular value#.
- removeRange() can now update value# information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47044 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/CodeGen/LiveInterval.h16
1 files changed, 7 insertions, 9 deletions
diff --git a/include/llvm/CodeGen/LiveInterval.h b/include/llvm/CodeGen/LiveInterval.h
index 52bbf78e3b..e7ebb5157d 100644
--- a/include/llvm/CodeGen/LiveInterval.h
+++ b/include/llvm/CodeGen/LiveInterval.h
@@ -299,12 +299,6 @@ namespace llvm {
/// contains the specified index, or end() if there is none.
iterator FindLiveRangeContaining(unsigned Idx);
- /// getOverlapingRanges - Given another live interval which is defined as a
- /// copy from this one, return a list of all of the live ranges where the
- /// two overlap and have different value numbers.
- void getOverlapingRanges(const LiveInterval &Other, unsigned CopyIdx,
- std::vector<LiveRange*> &Ranges);
-
/// overlaps - Return true if the intersection of the two live intervals is
/// not empty.
bool overlaps(const LiveInterval& other) const {
@@ -332,12 +326,16 @@ namespace llvm {
/// removeRange - Remove the specified range from this interval. Note that
/// the range must already be in this interval in its entirety.
- void removeRange(unsigned Start, unsigned End);
+ void removeRange(unsigned Start, unsigned End, bool RemoveDeadValNo = false);
- void removeRange(LiveRange LR) {
- removeRange(LR.start, LR.end);
+ void removeRange(LiveRange LR, bool RemoveDeadValNo = false) {
+ removeRange(LR.start, LR.end, RemoveDeadValNo);
}
+ /// removeValNo - Remove all the ranges defined by the specified value#.
+ /// Also remove the value# from value# list.
+ void removeValNo(VNInfo *ValNo);
+
/// getSize - Returns the sum of sizes of all the LiveRange's.
///
unsigned getSize() const;