Changes in directory llvm/lib/Target/Alpha:
AlphaInstrInfo.cpp updated: 1.20 -> 1.21 --- Log message: Handle blocks with 2 unconditional branches in AnalyzeBranch. --- Diffs of the changes: (+10 -0) AlphaInstrInfo.cpp | 10 ++++++++++ 1 files changed, 10 insertions(+) Index: llvm/lib/Target/Alpha/AlphaInstrInfo.cpp diff -u llvm/lib/Target/Alpha/AlphaInstrInfo.cpp:1.20 llvm/lib/Target/Alpha/AlphaInstrInfo.cpp:1.21 --- llvm/lib/Target/Alpha/AlphaInstrInfo.cpp:1.20 Fri Jun 8 16:59:56 2007 +++ llvm/lib/Target/Alpha/AlphaInstrInfo.cpp Wed Jun 13 12:59:52 2007 @@ -200,6 +200,16 @@ return false; } + // If the block ends with two Alpha::BRs, handle it. The second one is not + // executed, so remove it. + if (SecondLastInst->getOpcode() == Alpha::BR && + LastInst->getOpcode() == Alpha::BR) { + TBB = SecondLastInst->getOperand(0).getMachineBasicBlock(); + I = LastInst; + I->eraseFromParent(); + return false; + } + // Otherwise, can't handle this. return true; } _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits