summaryrefslogtreecommitdiff
path: root/unittests/VMCore/IRBuilderTest.cpp
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2012-07-16 07:44:51 +0000
committerChandler Carruth <chandlerc@gmail.com>2012-07-16 07:44:51 +0000
commit4b31c4d93ff23c4b9a5d9169ff5e6f51731fca17 (patch)
tree51b370d537e00c18d15fc04a28fd3ecaff1c9890 /unittests/VMCore/IRBuilderTest.cpp
parent411afbe321a7a3705a390d405e9e71ab21f71657 (diff)
downloadllvm-4b31c4d93ff23c4b9a5d9169ff5e6f51731fca17.tar.gz
llvm-4b31c4d93ff23c4b9a5d9169ff5e6f51731fca17.tar.bz2
llvm-4b31c4d93ff23c4b9a5d9169ff5e6f51731fca17.tar.xz
Add a boring bit of boilerplate to start testing IRBuilder::CreateCondBr.
This is in anticipation of changing CreateCondBr and wanting to test those changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160250 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests/VMCore/IRBuilderTest.cpp')
-rw-r--r--unittests/VMCore/IRBuilderTest.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/unittests/VMCore/IRBuilderTest.cpp b/unittests/VMCore/IRBuilderTest.cpp
index 9be3ab9555..3eb5926d54 100644
--- a/unittests/VMCore/IRBuilderTest.cpp
+++ b/unittests/VMCore/IRBuilderTest.cpp
@@ -27,7 +27,7 @@ protected:
M.reset(new Module("MyModule", getGlobalContext()));
FunctionType *FTy = FunctionType::get(Type::getVoidTy(getGlobalContext()),
/*isVarArg=*/false);
- Function *F = Function::Create(FTy, Function::ExternalLinkage, "", M.get());
+ F = Function::Create(FTy, Function::ExternalLinkage, "", M.get());
BB = BasicBlock::Create(getGlobalContext(), "", F);
}
@@ -37,6 +37,7 @@ protected:
}
OwningPtr<Module> M;
+ Function *F;
BasicBlock *BB;
};
@@ -71,4 +72,17 @@ TEST_F(IRBuilderTest, Lifetime) {
EXPECT_EQ(II_End1->getIntrinsicID(), Intrinsic::lifetime_end);
}
+TEST_F(IRBuilderTest, CreateCondBr) {
+ IRBuilder<> Builder(BB);
+ BasicBlock *TBB = BasicBlock::Create(getGlobalContext(), "", F);
+ BasicBlock *FBB = BasicBlock::Create(getGlobalContext(), "", F);
+
+ BranchInst *BI = Builder.CreateCondBr(Builder.getTrue(), TBB, FBB);
+ TerminatorInst *TI = BB->getTerminator();
+ EXPECT_EQ(BI, TI);
+ EXPECT_EQ(2u, TI->getNumSuccessors());
+ EXPECT_EQ(TBB, TI->getSuccessor(0));
+ EXPECT_EQ(FBB, TI->getSuccessor(1));
+}
+
}