21 return make_error<StringError>(
Twine(
"Could not load library '") +
22 Filename +
"': " +
Error,
29 intptr_t getDetailsFn =
35 return make_error<StringError>(
Twine(
"Plugin entry point not found in '") +
36 Filename +
"'. Is this a legacy plugin?",
42 return make_error<StringError>(
43 Twine(
"Wrong API version on plugin '") + Filename +
"'. Got version " +
44 Twine(
P.Info.APIVersion) +
", supported version is " +
48 if (!
P.Info.RegisterPassBuilderCallbacks)
49 return make_error<StringError>(
Twine(
"Empty entry callback in plugin '") +
::llvm::PassPluginLibraryInfo LLVM_ATTRIBUTE_WEAK llvmGetPassPluginInfo()
The public entry point for a pass plugin.
#define LLVM_PLUGIN_API_VERSION
\macro LLVM_PLUGIN_API_VERSION Identifies the API version understood by this plugin.
Lightweight error class with error context and mandatory checking.
Tagged union holding either a T or a Error.
static Expected< PassPlugin > Load(const std::string &Filename)
Attempts to load a pass plugin from a given file.
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
static DynamicLibrary getPermanentLibrary(const char *filename, std::string *errMsg=nullptr)
This function permanently loads the dynamic library at the given path using the library load operatio...
void * getAddressOfSymbol(const char *symbolName)
Searches through the library for the symbol symbolName.
bool isValid() const
Returns true if the object refers to a valid library.
This is an optimization pass for GlobalISel generic memory operations.
std::error_code inconvertibleErrorCode()
The value returned by this function can be returned from convertToErrorCode for Error values where no...