#include "../lib/Transforms/Vectorize/VPlan.h"
#include "../lib/Transforms/Vectorize/VPlanHCFGBuilder.h"
#include "VPlanTestBase.h"
#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/Analysis/VectorUtils.h"
#include "gtest/gtest.h"
namespace llvm {
namespace {
class VPlanSlpTest : public VPlanTestBase { … };
TEST_F(VPlanSlpTest, testSlpSimple_2) { … }
TEST_F(VPlanSlpTest, testSlpSimple_3) { … }
TEST_F(VPlanSlpTest, testSlpReuse_1) { … }
TEST_F(VPlanSlpTest, testSlpReuse_2) { … }
static void checkReorderExample(VPInstruction *Store1, VPInstruction *Store2,
VPBasicBlock *Body,
VPInterleavedAccessInfo &&IAI) { … }
TEST_F(VPlanSlpTest, testSlpReorder_1) { … }
TEST_F(VPlanSlpTest, testSlpReorder_2) { … }
TEST_F(VPlanSlpTest, testSlpReorder_3) { … }
TEST_F(VPlanSlpTest, testSlpReorder_4) { … }
TEST_F(VPlanSlpTest, testInstrsInDifferentBBs) { … }
TEST_F(VPlanSlpTest, testInstrsInDifferentBBs2) { … }
TEST_F(VPlanSlpTest, testSlpAtomicLoad) { … }
TEST_F(VPlanSlpTest, testSlpAtomicStore) { … }
}
}