|
LLVM 24.0.0git
|
Information about the plugin required to load its passes. More...
#include "llvm/Plugins/PassPlugin.h"
Public Attributes | |
| uint32_t | APIVersion |
The API version understood by this plugin, usually LLVM_PLUGIN_API_VERSION. | |
| const char * | PluginName |
| A meaningful name of the plugin. | |
| const char * | PluginVersion |
| The version of the plugin. | |
| void(* | RegisterPassBuilderCallbacks )(PassBuilder &) = nullptr |
The callback for registering plugin passes with a PassBuilder instance. | |
| bool(* | PreCodeGenCallback )(Module &, TargetMachine &, CodeGenFileType, raw_pwrite_stream &OS) = nullptr |
| Callback called before running the back-end passes on the module. | |
| Error(* | ParseArguments )(ArrayRef< const char * > Args) = nullptr |
| Callback receiving the arguments given to the plugin, e.g. | |
Information about the plugin required to load its passes.
This struct defines the core interface for pass plugins and is supposed to be filled out by plugin implementors. Unused function pointers can be set to nullptr. LLVM-side users of a plugin are expected to use the PassPlugin class below to interface with it.
Definition at line 46 of file PassPlugin.h.
| uint32_t llvm::PassPluginLibraryInfo::APIVersion |
The API version understood by this plugin, usually LLVM_PLUGIN_API_VERSION.
Definition at line 49 of file PassPlugin.h.
Callback receiving the arguments given to the plugin, e.g.
by -plugin-arg=<PluginName>,<arg>, in order.
Definition at line 69 of file PassPlugin.h.
A meaningful name of the plugin.
-plugin-arg=<PluginName>,<arg> passes <arg> to the plugin with this name.
Definition at line 52 of file PassPlugin.h.
The version of the plugin.
Definition at line 54 of file PassPlugin.h.
| bool(* llvm::PassPluginLibraryInfo::PreCodeGenCallback) (Module &, TargetMachine &, CodeGenFileType, raw_pwrite_stream &OS) = nullptr |
Callback called before running the back-end passes on the module.
The callback can generate code itself by writing the expected output to OS and returning true to prevent the default pipeline and further plugin callbacks from running.
Definition at line 64 of file PassPlugin.h.
| void(* llvm::PassPluginLibraryInfo::RegisterPassBuilderCallbacks) (PassBuilder &) = nullptr |
The callback for registering plugin passes with a PassBuilder instance.
Definition at line 58 of file PassPlugin.h.