void SplitEditor::splitSingleBlock(const SplitAnalysis::BlockInfo &BI) {
openIntv();
- SlotIndex LastSplitPoint = SA.getLastSplitPoint(BI.MBB->getNumber());
+ SlotIndex LastSplitPoint = SA.getLastSplitPoint(BI.MBB);
SlotIndex SegStart = enterIntvBefore(std::min(BI.FirstInstr,
LastSplitPoint));
if (!BI.LiveOut || BI.LastInstr < LastSplitPoint) {
return;
}
- SlotIndex LSP = SA.getLastSplitPoint(BI.MBB->getNumber());
+ SlotIndex LSP = SA.getLastSplitPoint(BI.MBB);
if (!LeaveBefore || LeaveBefore > BI.LastInstr.getBoundaryIndex()) {
//
<< ", enter after " << EnterAfter
<< (BI.LiveIn ? ", stack-in" : ", defined in block"));
- SlotIndex LSP = SA.getLastSplitPoint(BI.MBB->getNumber());
+ SlotIndex LSP = SA.getLastSplitPoint(BI.MBB);
assert(IntvOut && "Must have register out");
assert(BI.LiveOut && "Must be live-out");
return IPA.getLastInsertPoint(*CurLI, *MF.getBlockNumbered(Num));
}
+ SlotIndex getLastSplitPoint(MachineBasicBlock *BB) {
+ return IPA.getLastInsertPoint(*CurLI, *BB);
+ }
+
MachineBasicBlock::iterator getLastSplitPointIter(MachineBasicBlock *BB) {
return IPA.getLastInsertPointIter(*CurLI, *BB);
}