diff options
Diffstat (limited to 'llvm/unittests/Passes')
-rw-r--r-- | llvm/unittests/Passes/CMakeLists.txt | 21 | ||||
-rw-r--r-- | llvm/unittests/Passes/PluginsTest.cpp | 53 | ||||
-rw-r--r-- | llvm/unittests/Passes/TestPlugin.cxx | 39 | ||||
-rw-r--r-- | llvm/unittests/Passes/TestPlugin.h | 2 |
4 files changed, 0 insertions, 115 deletions
diff --git a/llvm/unittests/Passes/CMakeLists.txt b/llvm/unittests/Passes/CMakeLists.txt deleted file mode 100644 index 37daed356da..00000000000 --- a/llvm/unittests/Passes/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -set(LLVM_LINK_COMPONENTS Support Passes Core) - -add_llvm_unittest(PluginsTests PluginsTest.cpp) -export_executable_symbols(PluginsTests) - -add_library(TestPlugin SHARED TestPlugin.cxx) - -set_output_directory(TestPlugin - BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR} - LIBRARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR} - ) - -set_target_properties(TestPlugin - PROPERTIES PREFIX "" - SUFFIX ".so" - ) - -llvm_map_components_to_libnames(LLVMDependencies ${LLVM_LINK_COMPONENTS}) -target_link_libraries(TestPlugin ${LLVMDependencies}) - -add_dependencies(PluginsTests TestPlugin) diff --git a/llvm/unittests/Passes/PluginsTest.cpp b/llvm/unittests/Passes/PluginsTest.cpp deleted file mode 100644 index df1ba1c5b2b..00000000000 --- a/llvm/unittests/Passes/PluginsTest.cpp +++ /dev/null @@ -1,53 +0,0 @@ -//===- unittests/Passes/Plugins/PluginsTest.cpp ---------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#include "llvm/Analysis/CGSCCPassManager.h" -#include "llvm/IR/PassManager.h" -#include "llvm/Passes/PassBuilder.h" -#include "llvm/Passes/PassPlugin.h" -#include "llvm/Support/FileSystem.h" -#include "llvm/Support/ManagedStatic.h" -#include "llvm/Support/Path.h" -#include "llvm/Transforms/Scalar/LoopPassManager.h" -#include "gtest/gtest.h" - -#include "TestPlugin.h" - -using namespace llvm; - -void anchor() {} - -static std::string LibPath(const std::string Name = "TestPlugin") { - const std::vector<testing::internal::string> &Argvs = - testing::internal::GetArgvs(); - const char *Argv0 = Argvs.size() > 0 ? Argvs[0].c_str() : "PluginsTests"; - void *Ptr = (void *)anchor; - std::string Path = sys::fs::getMainExecutable(Argv0, Ptr); - llvm::SmallString<256> Buf{sys::path::parent_path(Path)}; - sys::path::append(Buf, (Name + ".so").c_str()); - return Buf.str(); -} - -TEST(PluginsTests, LoadPlugin) { - auto PluginPath = LibPath(); - ASSERT_NE("", PluginPath); - - Expected<PassPlugin> Plugin = PassPlugin::Load(PluginPath); - ASSERT_TRUE(!!Plugin) << "Plugin path: " << PluginPath; - - ASSERT_EQ(TEST_PLUGIN_NAME, Plugin->getPluginName()); - ASSERT_EQ(TEST_PLUGIN_VERSION, Plugin->getPluginVersion()); - - PassBuilder PB; - ModulePassManager PM; - ASSERT_FALSE(PB.parsePassPipeline(PM, "plugin-pass")); - - Plugin->registerPassBuilderCallbacks(PB); - ASSERT_TRUE(PB.parsePassPipeline(PM, "plugin-pass")); -} diff --git a/llvm/unittests/Passes/TestPlugin.cxx b/llvm/unittests/Passes/TestPlugin.cxx deleted file mode 100644 index adb666e69d7..00000000000 --- a/llvm/unittests/Passes/TestPlugin.cxx +++ /dev/null @@ -1,39 +0,0 @@ -//===- unittests/Passes/Plugins/Plugin.cxx --------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#include "llvm/Passes/PassBuilder.h" -#include "llvm/Passes/PassPlugin.h" - -#include "TestPlugin.h" - -using namespace llvm; - -struct TestModulePass : public PassInfoMixin<TestModulePass> { - PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM) { - return PreservedAnalyses::all(); - } -}; - -void registerCallbacks(PassBuilder &PB) { - PB.registerPipelineParsingCallback( - [](StringRef Name, ModulePassManager &PM, - ArrayRef<PassBuilder::PipelineElement> InnerPipeline) { - if (Name == "plugin-pass") { - PM.addPass(TestModulePass()); - return true; - } - return false; - }); -} - -extern "C" ::llvm::PassPluginLibraryInfo LLVM_ATTRIBUTE_WEAK LLVM_PLUGIN_EXPORT -llvmGetPassPluginInfo() { - return {LLVM_PLUGIN_API_VERSION, TEST_PLUGIN_NAME, TEST_PLUGIN_VERSION, - registerCallbacks}; -} diff --git a/llvm/unittests/Passes/TestPlugin.h b/llvm/unittests/Passes/TestPlugin.h deleted file mode 100644 index 801a89065cd..00000000000 --- a/llvm/unittests/Passes/TestPlugin.h +++ /dev/null @@ -1,2 +0,0 @@ -#define TEST_PLUGIN_NAME "TestPlugin" -#define TEST_PLUGIN_VERSION "0.1-unit" |