diff options
Diffstat (limited to 'contrib/llvm/unittests/VMCore/InstructionsTest.cpp')
-rw-r--r-- | contrib/llvm/unittests/VMCore/InstructionsTest.cpp | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/contrib/llvm/unittests/VMCore/InstructionsTest.cpp b/contrib/llvm/unittests/VMCore/InstructionsTest.cpp deleted file mode 100644 index c1baa74..0000000 --- a/contrib/llvm/unittests/VMCore/InstructionsTest.cpp +++ /dev/null @@ -1,128 +0,0 @@ -//===- llvm/unittest/VMCore/InstructionsTest.cpp - Instructions unit tests ===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#include "llvm/Instructions.h" -#include "llvm/BasicBlock.h" -#include "llvm/DerivedTypes.h" -#include "llvm/LLVMContext.h" -#include "llvm/ADT/STLExtras.h" -#include "gtest/gtest.h" - -namespace llvm { -namespace { - -TEST(InstructionsTest, ReturnInst) { - LLVMContext &C(getGlobalContext()); - - // test for PR6589 - const ReturnInst* r0 = ReturnInst::Create(C); - EXPECT_EQ(r0->getNumOperands(), 0U); - EXPECT_EQ(r0->op_begin(), r0->op_end()); - - const IntegerType* Int1 = IntegerType::get(C, 1); - Constant* One = ConstantInt::get(Int1, 1, true); - const ReturnInst* r1 = ReturnInst::Create(C, One); - EXPECT_EQ(r1->getNumOperands(), 1U); - User::const_op_iterator b(r1->op_begin()); - EXPECT_NE(b, r1->op_end()); - EXPECT_EQ(*b, One); - EXPECT_EQ(r1->getOperand(0), One); - ++b; - EXPECT_EQ(b, r1->op_end()); - - // clean up - delete r0; - delete r1; -} - -TEST(InstructionsTest, BranchInst) { - LLVMContext &C(getGlobalContext()); - - // Make a BasicBlocks - BasicBlock* bb0 = BasicBlock::Create(C); - BasicBlock* bb1 = BasicBlock::Create(C); - - // Mandatory BranchInst - const BranchInst* b0 = BranchInst::Create(bb0); - - EXPECT_TRUE(b0->isUnconditional()); - EXPECT_FALSE(b0->isConditional()); - EXPECT_EQ(b0->getNumSuccessors(), 1U); - - // check num operands - EXPECT_EQ(b0->getNumOperands(), 1U); - - EXPECT_NE(b0->op_begin(), b0->op_end()); - EXPECT_EQ(next(b0->op_begin()), b0->op_end()); - - EXPECT_EQ(next(b0->op_begin()), b0->op_end()); - - const IntegerType* Int1 = IntegerType::get(C, 1); - Constant* One = ConstantInt::get(Int1, 1, true); - - // Conditional BranchInst - BranchInst* b1 = BranchInst::Create(bb0, bb1, One); - - EXPECT_FALSE(b1->isUnconditional()); - EXPECT_TRUE(b1->isConditional()); - EXPECT_EQ(b1->getNumSuccessors(), 2U); - - // check num operands - EXPECT_EQ(b1->getNumOperands(), 3U); - - User::const_op_iterator b(b1->op_begin()); - - // check COND - EXPECT_NE(b, b1->op_end()); - EXPECT_EQ(*b, One); - EXPECT_EQ(b1->getOperand(0), One); - EXPECT_EQ(b1->getCondition(), One); - ++b; - - // check ELSE - EXPECT_EQ(*b, bb1); - EXPECT_EQ(b1->getOperand(1), bb1); - EXPECT_EQ(b1->getSuccessor(1), bb1); - ++b; - - // check THEN - EXPECT_EQ(*b, bb0); - EXPECT_EQ(b1->getOperand(2), bb0); - EXPECT_EQ(b1->getSuccessor(0), bb0); - ++b; - - 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; - - delete bb0; - delete bb1; -} - -} // end anonymous namespace -} // end namespace llvm |