#include "llvm/Analysis/CGSCCPassManager.h"
#include "llvm/Analysis/ScalarEvolution.h"
#include "llvm/Analysis/TargetTransformInfo.h"
#include "llvm/AsmParser/Parser.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/PassManager.h"
#include "llvm/Passes/PassBuilder.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/SourceMgr.h"
#include "llvm/Testing/Support/Error.h"
#include "llvm/Transforms/Utils/LowerMemIntrinsics.h"
#include "llvm/Transforms/Vectorize/LoopVectorize.h"
#include "gtest/gtest-spi.h"
#include "gtest/gtest.h"
usingnamespacellvm;
namespace {
struct ForwardingPass : public PassInfoMixin<ForwardingPass> { … };
struct MemTransferLowerTest : public testing::Test { … };
TEST_F(MemTransferLowerTest, MemCpyKnownLength) { … }
TEST_F(MemTransferLowerTest, VecMemCpyKnownLength) { … }
TEST_F(MemTransferLowerTest, AtomicMemCpyKnownLength) { … }
TEST_F(MemTransferLowerTest, AtomicMemCpyUnKnownLength) { … }
}