| Index: lib/Target/PowerPC/PPCBranchSelector.cpp
|
| diff --git a/lib/Target/PowerPC/PPCBranchSelector.cpp b/lib/Target/PowerPC/PPCBranchSelector.cpp
|
| index 3e608ca8f679000ceb737775a1757f94ace6ddbd..bd1c3786811049520b5b1810a43e5fc780bfeebd 100644
|
| --- a/lib/Target/PowerPC/PPCBranchSelector.cpp
|
| +++ b/lib/Target/PowerPC/PPCBranchSelector.cpp
|
| @@ -112,21 +112,15 @@ bool PPCBSel::runOnMachineFunction(MachineFunction &Fn) {
|
| unsigned MBBStartOffset = 0;
|
| for (MachineBasicBlock::iterator I = MBB.begin(), E = MBB.end();
|
| I != E; ++I) {
|
| - MachineBasicBlock *Dest = 0;
|
| - if (I->getOpcode() == PPC::BCC && !I->getOperand(2).isImm())
|
| - Dest = I->getOperand(2).getMBB();
|
| - else if ((I->getOpcode() == PPC::BDNZ8 || I->getOpcode() == PPC::BDNZ ||
|
| - I->getOpcode() == PPC::BDZ8 || I->getOpcode() == PPC::BDZ) &&
|
| - !I->getOperand(0).isImm())
|
| - Dest = I->getOperand(0).getMBB();
|
| -
|
| - if (!Dest) {
|
| + if (I->getOpcode() != PPC::BCC || I->getOperand(2).isImm()) {
|
| MBBStartOffset += TII->GetInstSizeInBytes(I);
|
| continue;
|
| }
|
|
|
| // Determine the offset from the current branch to the destination
|
| // block.
|
| + MachineBasicBlock *Dest = I->getOperand(2).getMBB();
|
| +
|
| int BranchSize;
|
| if (Dest->getNumber() <= MBB.getNumber()) {
|
| // If this is a backwards branch, the delta is the offset from the
|
|
|