mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-20 16:17:38 +00:00
Revert r134047 while investigating a llvm-gcc-i386-linux-selfhost
miscompile. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134053 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -636,7 +636,6 @@ unsigned SplitEditor::openIntv() {
|
||||
void SplitEditor::selectIntv(unsigned Idx) {
|
||||
assert(Idx != 0 && "Cannot select the complement interval");
|
||||
assert(Idx < Edit->size() && "Can only select previously opened interval");
|
||||
DEBUG(dbgs() << " selectIntv " << OpenIdx << " -> " << Idx << '\n');
|
||||
OpenIdx = Idx;
|
||||
}
|
||||
|
||||
@@ -657,24 +656,6 @@ SlotIndex SplitEditor::enterIntvBefore(SlotIndex Idx) {
|
||||
return VNI->def;
|
||||
}
|
||||
|
||||
SlotIndex SplitEditor::enterIntvAfter(SlotIndex Idx) {
|
||||
assert(OpenIdx && "openIntv not called before enterIntvAfter");
|
||||
DEBUG(dbgs() << " enterIntvAfter " << Idx);
|
||||
Idx = Idx.getBoundaryIndex();
|
||||
VNInfo *ParentVNI = Edit->getParent().getVNInfoAt(Idx);
|
||||
if (!ParentVNI) {
|
||||
DEBUG(dbgs() << ": not live\n");
|
||||
return Idx;
|
||||
}
|
||||
DEBUG(dbgs() << ": valno " << ParentVNI->id << '\n');
|
||||
MachineInstr *MI = LIS.getInstructionFromIndex(Idx);
|
||||
assert(MI && "enterIntvAfter called with invalid index");
|
||||
|
||||
VNInfo *VNI = defFromParent(OpenIdx, ParentVNI, Idx, *MI->getParent(),
|
||||
llvm::next(MachineBasicBlock::iterator(MI)));
|
||||
return VNI->def;
|
||||
}
|
||||
|
||||
SlotIndex SplitEditor::enterIntvAtEnd(MachineBasicBlock &MBB) {
|
||||
assert(OpenIdx && "openIntv not called before enterIntvAtEnd");
|
||||
SlotIndex End = LIS.getMBBEndIdx(&MBB);
|
||||
@@ -1026,6 +1007,12 @@ void SplitEditor::finish(SmallVectorImpl<unsigned> *LRMap) {
|
||||
markComplexMapped(i, ParentVNI);
|
||||
}
|
||||
|
||||
#ifndef NDEBUG
|
||||
// Every new interval must have a def by now, otherwise the split is bogus.
|
||||
for (LiveRangeEdit::iterator I = Edit->begin(), E = Edit->end(); I != E; ++I)
|
||||
assert((*I)->hasAtLeastOneValue() && "Split interval has no value");
|
||||
#endif
|
||||
|
||||
// Transfer the simply mapped values, check if any are skipped.
|
||||
bool Skipped = transferValues();
|
||||
if (Skipped)
|
||||
|
||||
Reference in New Issue
Block a user