Go to the documentation of this file.
13 #ifndef LLVM_PASSES_PASSPLUGIN_H
14 #define LLVM_PASSES_PASSPLUGIN_H
33 #define LLVM_PLUGIN_API_VERSION 1
91 sys::DynamicLibrary Library;
92 PassPluginLibraryInfo Info;
void(* RegisterPassBuilderCallbacks)(PassBuilder &)
The callback for registering plugin passes with a PassBuilder instance.
This is an optimization pass for GlobalISel generic memory operations.
Itanium Name Demangler Library
Tagged union holding either a T or a Error.
This class provides a portable interface to dynamic libraries which also might be known as shared lib...
static Expected< PassPlugin > Load(const std::string &Filename)
Attempts to load a pass plugin from a given file.
This class provides access to building LLVM's passes.
StringRef getPluginVersion() const
Get the plugin version.
uint32_t APIVersion
The API version understood by this plugin, usually LLVM_PLUGIN_API_VERSION.
PassBuilder PB(Machine, PassOpts->PTO, None, &PIC)
void registerPassBuilderCallbacks(PassBuilder &PB) const
Invoke the PassBuilder callback registration.
::llvm::PassPluginLibraryInfo LLVM_ATTRIBUTE_WEAK llvmGetPassPluginInfo()
The public entry point for a pass plugin.
StringRef getPluginName() const
Get the plugin name.
StringRef - Represent a constant reference to a string, i.e.
#define LLVM_ATTRIBUTE_WEAK
const char * PluginName
A meaningful name of the plugin.
Information about the plugin required to load its passes.
const char * PluginVersion
The version of the plugin.
uint32_t getAPIVersion() const
Get the plugin API version.
StringRef getFilename() const
Get the filename of the loaded plugin.