[llvm-commits] [llvm] r160250 - /llvm/trunk/unittests/VMCore/IRBuilderTest.cpp

Chandler Carruth chandlerc at gmail.com
Mon Jul 16 00:44:51 PDT 2012


Author: chandlerc
Date: Mon Jul 16 02:44:51 2012
New Revision: 160250

URL: http://llvm.org/viewvc/llvm-project?rev=160250&view=rev
Log:
Add a boring bit of boilerplate to start testing IRBuilder::CreateCondBr.

This is in anticipation of changing CreateCondBr and wanting to test
those changes.

Modified:
    llvm/trunk/unittests/VMCore/IRBuilderTest.cpp

Modified: llvm/trunk/unittests/VMCore/IRBuilderTest.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/VMCore/IRBuilderTest.cpp?rev=160250&r1=160249&r2=160250&view=diff
==============================================================================
--- llvm/trunk/unittests/VMCore/IRBuilderTest.cpp (original)
+++ llvm/trunk/unittests/VMCore/IRBuilderTest.cpp Mon Jul 16 02:44:51 2012
@@ -27,7 +27,7 @@
     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 @@
   }
 
   OwningPtr<Module> M;
+  Function *F;
   BasicBlock *BB;
 };
 
@@ -71,4 +72,17 @@
   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));
+}
+
 }





More information about the llvm-commits mailing list