[clang] [llvm] [Libomptarget] Statically link all plugin runtimes (PR #87009)
Johannes Doerfert via llvm-commits
llvm-commits at lists.llvm.org
Wed May 1 08:28:43 PDT 2024
================
@@ -34,38 +33,10 @@
#include <mutex>
#include <string>
-struct PluginManager;
-
-/// Plugin adaptors should be created via `PluginAdaptorTy::create` which will
-/// invoke the constructor and call `PluginAdaptorTy::init`. Eventual errors are
-/// reported back to the caller, otherwise a valid and initialized adaptor is
-/// returned.
-struct PluginAdaptorTy {
- /// Try to create a plugin adaptor from a filename.
- static llvm::Expected<std::unique_ptr<PluginAdaptorTy>>
- create(const std::string &Name);
-
- /// Name of the shared object file representing the plugin.
- std::string Name;
-
- /// Access to the shared object file representing the plugin.
- std::unique_ptr<llvm::sys::DynamicLibrary> LibraryHandler;
-
-#define PLUGIN_API_HANDLE(NAME) \
- using NAME##_ty = decltype(__tgt_rtl_##NAME); \
- NAME##_ty *NAME = nullptr;
+#include "PluginInterface.h"
+using GenericPluginTy = llvm::omp::target::plugin::GenericPluginTy;
-#include "Shared/PluginAPI.inc"
-#undef PLUGIN_API_HANDLE
-
- /// Create a plugin adaptor for filename \p Name with a dynamic library \p DL.
- PluginAdaptorTy(const std::string &Name,
- std::unique_ptr<llvm::sys::DynamicLibrary> DL);
-
- /// Initialize the plugin adaptor, this can fail in which case the adaptor is
- /// useless.
- llvm::Error init();
-};
+struct PluginManager;
----------------
jdoerfert wrote:
Is't it defined just 2 lines later?
https://github.com/llvm/llvm-project/pull/87009
More information about the llvm-commits
mailing list