forked from OSchip/llvm-project
Don't update spill weights when joining intervals.
We don't compute spill weights until after coalescing anyway. llvm-svn: 155766
This commit is contained in:
parent
4fe0e1908e
commit
6053899aa0
|
@ -474,10 +474,6 @@ namespace llvm {
|
|||
weight = HUGE_VALF;
|
||||
}
|
||||
|
||||
/// ComputeJoinedWeight - Set the weight of a live interval after
|
||||
/// Other has been merged into it.
|
||||
void ComputeJoinedWeight(const LiveInterval &Other);
|
||||
|
||||
bool operator<(const LiveInterval& other) const {
|
||||
const SlotIndex &thisIndex = beginIndex();
|
||||
const SlotIndex &otherIndex = other.beginIndex();
|
||||
|
|
|
@ -436,8 +436,6 @@ void LiveInterval::join(LiveInterval &Other,
|
|||
assert(I->valno && "Adding a dead range?");
|
||||
InsertPos = addRangeFrom(*I, InsertPos);
|
||||
}
|
||||
|
||||
ComputeJoinedWeight(Other);
|
||||
}
|
||||
|
||||
/// MergeRangesInAsValue - Merge all of the intervals in RHS into this live
|
||||
|
@ -566,29 +564,6 @@ unsigned LiveInterval::getSize() const {
|
|||
return Sum;
|
||||
}
|
||||
|
||||
/// ComputeJoinedWeight - Set the weight of a live interval Joined
|
||||
/// after Other has been merged into it.
|
||||
void LiveInterval::ComputeJoinedWeight(const LiveInterval &Other) {
|
||||
// If either of these intervals was spilled, the weight is the
|
||||
// weight of the non-spilled interval. This can only happen with
|
||||
// iterative coalescers.
|
||||
|
||||
if (Other.weight != HUGE_VALF) {
|
||||
weight += Other.weight;
|
||||
}
|
||||
else if (weight == HUGE_VALF &&
|
||||
!TargetRegisterInfo::isPhysicalRegister(reg)) {
|
||||
// Remove this assert if you have an iterative coalescer
|
||||
assert(0 && "Joining to spilled interval");
|
||||
weight = Other.weight;
|
||||
}
|
||||
else {
|
||||
// Otherwise the weight stays the same
|
||||
// Remove this assert if you have an iterative coalescer
|
||||
assert(0 && "Joining from spilled interval");
|
||||
}
|
||||
}
|
||||
|
||||
raw_ostream& llvm::operator<<(raw_ostream& os, const LiveRange &LR) {
|
||||
return os << '[' << LR.start << ',' << LR.end << ':' << LR.valno->id << ")";
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue