#include "llvm/Analysis/AssumptionCache.h"
#include "llvm/Analysis/LoopNestAnalysis.h"
#include "llvm/Analysis/ScalarEvolution.h"
#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/AsmParser/Parser.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/SourceMgr.h"
#include "gtest/gtest.h"
usingnamespacellvm;
static void runTest(
Module &M, StringRef FuncName,
function_ref<void(Function &F, LoopInfo &LI, ScalarEvolution &SE)> Test) { … }
static std::unique_ptr<Module> makeLLVMModule(LLVMContext &Context,
const char *ModuleStr) { … }
static Instruction *getInstructionByName(Function &F, StringRef Name) { … }
TEST(LoopNestTest, PerfectLoopNest) { … }
TEST(LoopNestTest, ImperfectLoopNest) { … }
TEST(LoopNestTest, InterveningInstrLoopNest) { … }