From ef13982aa7f3e57e82cd48370e79033dff0da295 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sat, 28 Oct 2006 17:35:02 +0000 Subject: implement the BlockHasNoFallThrough hook git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31264 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/PowerPC/PPCInstrInfo.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'lib/Target/PowerPC/PPCInstrInfo.cpp') diff --git a/lib/Target/PowerPC/PPCInstrInfo.cpp b/lib/Target/PowerPC/PPCInstrInfo.cpp index 63188466be..9876e3cdad 100644 --- a/lib/Target/PowerPC/PPCInstrInfo.cpp +++ b/lib/Target/PowerPC/PPCInstrInfo.cpp @@ -259,6 +259,17 @@ void PPCInstrInfo::InsertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB, BuildMI(&MBB, PPC::B, 1).addMBB(FBB); } +bool PPCInstrInfo::BlockHasNoFallThrough(MachineBasicBlock &MBB) const { + if (MBB.empty()) return false; + + switch (MBB.back().getOpcode()) { + case PPC::B: // Uncond branch. + case PPC::BCTR: // Indirect branch. + return true; + default: return false; + } +} + bool PPCInstrInfo:: ReverseBranchCondition(std::vector &Cond) const { assert(Cond.size() == 2 && "Invalid PPC branch opcode!"); -- cgit v1.2.3-70-g09d2