aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/IPO
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2002-04-27 03:15:45 +0000
committerChris Lattner <sabre@nondot.org>2002-04-27 03:15:45 +0000
commitf2361c5e5c2917e6f19a55927b221d8671753a40 (patch)
tree096c093f33f851d65205de8e053ac2849d70a721 /lib/Transforms/IPO
parent35504209a0ddbc70d97a7ef16c504acc863bfeec (diff)
Changes because the Terminator::getSuccessor function now FAILS if successor
IDX is out of range instead of returning null. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2332 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/IPO')
-rw-r--r--lib/Transforms/IPO/MutateStructTypes.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/lib/Transforms/IPO/MutateStructTypes.cpp b/lib/Transforms/IPO/MutateStructTypes.cpp
index fcad5fa050..b5dd937f7e 100644
--- a/lib/Transforms/IPO/MutateStructTypes.cpp
+++ b/lib/Transforms/IPO/MutateStructTypes.cpp
@@ -369,10 +369,15 @@ void MutateStructTypes::transformMethod(Function *m) {
break;
case Instruction::Br: {
const BranchInst *BI = cast<BranchInst>(I);
- NewI = new BranchInst(
- cast<BasicBlock>(ConvertValue(BI->getSuccessor(0))),
- cast_or_null<BasicBlock>(ConvertValue(BI->getSuccessor(1))),
- ConvertValue(BI->getCondition()));
+ if (BI->isConditional()) {
+ NewI =
+ new BranchInst(cast<BasicBlock>(ConvertValue(BI->getSuccessor(0))),
+ cast<BasicBlock>(ConvertValue(BI->getSuccessor(1))),
+ ConvertValue(BI->getCondition()));
+ } else {
+ NewI =
+ new BranchInst(cast<BasicBlock>(ConvertValue(BI->getSuccessor(0))));
+ }
break;
}
case Instruction::Switch: