llvm/llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp

//===- DependencyGraphTest.cpp --------------------------------------------===//
//
// 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/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h"
#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/Analysis/AssumptionCache.h"
#include "llvm/Analysis/BasicAliasAnalysis.h"
#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/AsmParser/Parser.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/Dominators.h"
#include "llvm/SandboxIR/Context.h"
#include "llvm/SandboxIR/Function.h"
#include "llvm/SandboxIR/Instruction.h"
#include "llvm/Support/SourceMgr.h"
#include "gmock/gmock-matchers.h"
#include "gtest/gtest.h"

usingnamespacellvm;

struct DependencyGraphTest : public testing::Test {};

TEST_F(DependencyGraphTest, isStackSaveOrRestoreIntrinsic) {}

TEST_F(DependencyGraphTest, Instruction_isMemDepCandidate) {}

TEST_F(DependencyGraphTest, Instruction_isMemIntrinsic) {}

TEST_F(DependencyGraphTest, MemDGNode) {}

TEST_F(DependencyGraphTest, Basic) {}

TEST_F(DependencyGraphTest, Preds) {}

TEST_F(DependencyGraphTest, MemDGNode_getPrevNode_getNextNode) {}

TEST_F(DependencyGraphTest, DGNodeRange) {}

TEST_F(DependencyGraphTest, AliasingStores) {}

TEST_F(DependencyGraphTest, NonAliasingStores) {}

TEST_F(DependencyGraphTest, VolatileLoads) {}

TEST_F(DependencyGraphTest, VolatileSotres) {}

TEST_F(DependencyGraphTest, Call) {}

// Check that there is a dependency: stacksave -> alloca -> stackrestore.
TEST_F(DependencyGraphTest, StackSaveRestoreInAlloca) {}

// Checks that stacksave and stackrestore depend on other mem instrs.
TEST_F(DependencyGraphTest, StackSaveRestoreDependOnOtherMem) {}

// Make sure there is a dependency between a stackrestore and an alloca.
TEST_F(DependencyGraphTest, StackRestoreAndInAlloca) {}

// Make sure there is a dependency between the alloca and stacksave
TEST_F(DependencyGraphTest, StackSaveAndInAlloca) {}

// A non-InAlloca in a stacksave-stackrestore region does not need extra
// dependencies.
TEST_F(DependencyGraphTest, StackSaveRestoreNoInAlloca) {}

TEST_F(DependencyGraphTest, Extend) {}