From 49208cfe1821ff1821e2a30a1f3ecfe74d9d10e8 Mon Sep 17 00:00:00 2001 From: Evan Cheng Date: Wed, 13 Feb 2008 02:48:26 +0000 Subject: - 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 --- include/llvm/CodeGen/LiveInterval.h | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'include') diff --git a/include/llvm/CodeGen/LiveInterval.h b/include/llvm/CodeGen/LiveInterval.h index 52bbf78..e7ebb51 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 &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; -- cgit v1.1