|
LLVM 22.0.0git
|
Information about the plugin required to load its passes. More...
#include "llvm/Passes/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. | |
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 45 of file PassPlugin.h.
| uint32_t llvm::PassPluginLibraryInfo::APIVersion |
The API version understood by this plugin, usually LLVM_PLUGIN_API_VERSION.
Definition at line 48 of file PassPlugin.h.
A meaningful name of the plugin.
Definition at line 50 of file PassPlugin.h.
The version of the plugin.
Definition at line 52 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 62 of file PassPlugin.h.
| void(* llvm::PassPluginLibraryInfo::RegisterPassBuilderCallbacks) (PassBuilder &) = nullptr |
The callback for registering plugin passes with a PassBuilder instance.
Definition at line 56 of file PassPlugin.h.