Completely change the way that joining with physregs is implemented. This

paves the way for future changes, increases coallescing opportunities (in
theory, not witnessed in practice), and eliminates the really expensive
LiveIntervals::overlapsAliases method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29890 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2006-08-25 23:41:24 +00:00
parent 1822ffbab7
commit c114b2cad7
3 changed files with 76 additions and 35 deletions

View File

@@ -148,6 +148,10 @@ namespace llvm {
/// cause merging of V1/V2 values numbers and compaction of the value space.
void MergeValueNumberInto(unsigned V1, unsigned V2);
/// MergeInClobberRanges - For any live ranges that are not defined in the
/// current interval, but are defined in the Clobbers interval, mark them
/// used with an unknown definition value.
void MergeInClobberRanges(const LiveInterval &Clobbers);
bool empty() const { return ranges.empty(); }