git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123026
91177308-0d34-0410-b5e6-
96231b3b80d8
Op<-3>() = V;
}
- // setUnconditionalDest - Change the current branch to an unconditional branch
- // targeting the specified block.
- // FIXME: Eliminate this ugly method.
- void setUnconditionalDest(BasicBlock *Dest) {
- Op<-1>() = (Value*)Dest;
- if (isConditional()) { // Convert this to an uncond branch.
- Op<-2>() = 0;
- Op<-3>() = 0;
- NumOperands = 1;
- OperandList = op_begin();
- }
- }
-
unsigned getNumSuccessors() const { return 1+isConditional(); }
BasicBlock *getSuccessor(unsigned i) const {
EXPECT_EQ(b, b1->op_end());
- // shrink it
- b1->setUnconditionalDest(bb1);
-
- // check num operands
- EXPECT_EQ(b1->getNumOperands(), 1U);
-
- User::const_op_iterator c(b1->op_begin());
- EXPECT_NE(c, b1->op_end());
-
- // check THEN
- EXPECT_EQ(*c, bb1);
- EXPECT_EQ(b1->getOperand(0), bb1);
- EXPECT_EQ(b1->getSuccessor(0), bb1);
- ++c;
-
- EXPECT_EQ(c, b1->op_end());
-
// clean up
delete b0;
delete b1;