llvm/llvm/unittests/Analysis/CFGTest.cpp

//===- CFGTest.cpp - CFG tests --------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#include "llvm/Analysis/CFG.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/AsmParser/Parser.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/InstIterator.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/LegacyPassManager.h"
#include "llvm/IR/Module.h"
#include "llvm/InitializePasses.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/SourceMgr.h"
#include "gtest/gtest.h"

usingnamespacellvm;

namespace {

// This fixture assists in running the isPotentiallyReachable utility four ways
// and ensuring it produces the correct answer each time.
class IsPotentiallyReachableTest : public testing::Test {};

}

TEST_F(IsPotentiallyReachableTest, SameBlockNoPath) {}

TEST_F(IsPotentiallyReachableTest, SameBlockPath) {}

TEST_F(IsPotentiallyReachableTest, SameBlockNoLoop) {}

TEST_F(IsPotentiallyReachableTest, StraightNoPath) {}

TEST_F(IsPotentiallyReachableTest, StraightPath) {}

TEST_F(IsPotentiallyReachableTest, DestUnreachable) {}

TEST_F(IsPotentiallyReachableTest, BranchToReturn) {}

TEST_F(IsPotentiallyReachableTest, SimpleLoop1) {}

TEST_F(IsPotentiallyReachableTest, SimpleLoop2) {}

TEST_F(IsPotentiallyReachableTest, SimpleLoop3) {}


TEST_F(IsPotentiallyReachableTest, OneLoopAfterTheOther1) {}

TEST_F(IsPotentiallyReachableTest, OneLoopAfterTheOther2) {}

TEST_F(IsPotentiallyReachableTest, OneLoopAfterTheOtherInsideAThirdLoop) {}

static const char *BranchInsideLoopIR =;

TEST_F(IsPotentiallyReachableTest, BranchInsideLoop) {}

TEST_F(IsPotentiallyReachableTest, ModifyTest) {}

TEST_F(IsPotentiallyReachableTest, UnreachableFromEntryTest) {}

TEST_F(IsPotentiallyReachableTest, UnreachableBlocksTest1) {}

TEST_F(IsPotentiallyReachableTest, UnreachableBlocksTest2) {}

TEST_F(IsPotentiallyReachableTest, SimpleExclusionTest) {}

TEST_F(IsPotentiallyReachableTest, DiamondExcludedTest) {}

TEST_F(IsPotentiallyReachableTest, DiamondOneSideExcludedTest) {}

TEST_F(IsPotentiallyReachableTest, UnreachableToReachable) {}