mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-28 09:31:03 +00:00
Replace FindLiveRangeContaining() with getVNInfoAt() in LiveIntervalAnalysis.
This helps hiding the LiveRange class which really should be private. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116244 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a1e2194f03
commit
31cc3ec330
@ -570,11 +570,11 @@ exit:
|
||||
assert(start < end && "did not find end of interval?");
|
||||
|
||||
// Already exists? Extend old live interval.
|
||||
LiveInterval::iterator OldLR = interval.FindLiveRangeContaining(start);
|
||||
bool Extend = OldLR != interval.end();
|
||||
VNInfo *ValNo = Extend
|
||||
? OldLR->valno : interval.getNextValue(start, CopyMI, VNInfoAllocator);
|
||||
if (MO.isEarlyClobber() && Extend)
|
||||
VNInfo *ValNo = interval.getVNInfoAt(start);
|
||||
bool Extend = ValNo != 0;
|
||||
if (!Extend)
|
||||
ValNo = interval.getNextValue(start, CopyMI, VNInfoAllocator);
|
||||
if (Extend && MO.isEarlyClobber())
|
||||
ValNo->setHasRedefByEC(true);
|
||||
LiveRange LR(start, end, ValNo);
|
||||
interval.addRange(LR);
|
||||
@ -799,10 +799,8 @@ unsigned LiveIntervals::getReMatImplicitUse(const LiveInterval &li,
|
||||
/// which reaches the given instruction also reaches the specified use index.
|
||||
bool LiveIntervals::isValNoAvailableAt(const LiveInterval &li, MachineInstr *MI,
|
||||
SlotIndex UseIdx) const {
|
||||
SlotIndex Index = getInstructionIndex(MI);
|
||||
VNInfo *ValNo = li.FindLiveRangeContaining(Index)->valno;
|
||||
LiveInterval::const_iterator UI = li.FindLiveRangeContaining(UseIdx);
|
||||
return UI != li.end() && UI->valno == ValNo;
|
||||
VNInfo *UValNo = li.getVNInfoAt(UseIdx);
|
||||
return UValNo && UValNo == li.getVNInfoAt(getInstructionIndex(MI));
|
||||
}
|
||||
|
||||
/// isReMaterializable - Returns true if the definition MI of the specified
|
||||
@ -828,7 +826,7 @@ bool LiveIntervals::isReMaterializable(const LiveInterval &li,
|
||||
ri != re; ++ri) {
|
||||
MachineInstr *UseMI = &*ri;
|
||||
SlotIndex UseIdx = getInstructionIndex(UseMI);
|
||||
if (li.FindLiveRangeContaining(UseIdx)->valno != ValNo)
|
||||
if (li.getVNInfoAt(UseIdx) != ValNo)
|
||||
continue;
|
||||
if (!isValNoAvailableAt(ImpLi, MI, UseIdx))
|
||||
return false;
|
||||
|
Loading…
x
Reference in New Issue
Block a user