mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-17 20:23:59 +00:00
Add LiveIntervals::getLastSplitPoint().
A live range cannot be split everywhere in a basic block. A split must go before the first terminator, and if the variable is live into a landing pad, the split must happen before the call that can throw. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124894 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -175,6 +175,16 @@ MachineBasicBlock::iterator MachineBasicBlock::getLastNonDebugInstr() {
|
||||
return end();
|
||||
}
|
||||
|
||||
const MachineBasicBlock *MachineBasicBlock::getLandingPadSuccessor() const {
|
||||
// A block with a landing pad successor only has one other successor.
|
||||
if (succ_size() > 2)
|
||||
return 0;
|
||||
for (const_succ_iterator I = succ_begin(), E = succ_end(); I != E; ++I)
|
||||
if ((*I)->isLandingPad())
|
||||
return *I;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void MachineBasicBlock::dump() const {
|
||||
print(dbgs());
|
||||
}
|
||||
|
Reference in New Issue
Block a user