diff options
author | Chris Lattner <sabre@nondot.org> | 2010-02-17 18:52:56 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-02-17 18:52:56 +0000 |
commit | 1fa9c2cce4382d9a54634ca05e7c6b1f590c5413 (patch) | |
tree | a43c2baa032034f70153be927e10d8a9a8f4539f /llvm/lib/CodeGen/MachineBasicBlock.cpp | |
parent | cb80e2527e2618bf610e50b1de7564bc288136e1 (diff) | |
download | bcm5719-llvm-1fa9c2cce4382d9a54634ca05e7c6b1f590c5413.tar.gz bcm5719-llvm-1fa9c2cce4382d9a54634ca05e7c6b1f590c5413.zip |
move isOnlyReachableByFallthrough out of MachineBasicBlock into AsmPrinter,
and add a sparc implementation that knows about delay slots. Patch by
Nathan Keynes!
llvm-svn: 96492
Diffstat (limited to 'llvm/lib/CodeGen/MachineBasicBlock.cpp')
-rw-r--r-- | llvm/lib/CodeGen/MachineBasicBlock.cpp | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/llvm/lib/CodeGen/MachineBasicBlock.cpp b/llvm/lib/CodeGen/MachineBasicBlock.cpp index 655a0bf4450..64134ce59e9 100644 --- a/llvm/lib/CodeGen/MachineBasicBlock.cpp +++ b/llvm/lib/CodeGen/MachineBasicBlock.cpp @@ -143,36 +143,6 @@ MachineBasicBlock::iterator MachineBasicBlock::getFirstTerminator() { return I; } -/// isOnlyReachableViaFallthough - Return true if this basic block has -/// exactly one predecessor and the control transfer mechanism between -/// the predecessor and this block is a fall-through. -bool MachineBasicBlock::isOnlyReachableByFallthrough() const { - // If this is a landing pad, it isn't a fall through. If it has no preds, - // then nothing falls through to it. - if (isLandingPad() || pred_empty()) - return false; - - // If there isn't exactly one predecessor, it can't be a fall through. - const_pred_iterator PI = pred_begin(), PI2 = PI; - ++PI2; - if (PI2 != pred_end()) - return false; - - // The predecessor has to be immediately before this block. - const MachineBasicBlock *Pred = *PI; - - if (!Pred->isLayoutSuccessor(this)) - return false; - - // If the block is completely empty, then it definitely does fall through. - if (Pred->empty()) - return true; - - // Otherwise, check the last instruction. - const MachineInstr &LastInst = Pred->back(); - return !LastInst.getDesc().isBarrier(); -} - void MachineBasicBlock::dump() const { print(dbgs()); } |