LLVM 22.0.0git
llvm::PassPluginLibraryInfo Struct Reference

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 charPluginName
 A meaningful name of the plugin.
const charPluginVersion
 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.

Detailed Description

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.

Member Data Documentation

◆ APIVersion

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.

◆ PluginName

const char* llvm::PassPluginLibraryInfo::PluginName

A meaningful name of the plugin.

Definition at line 50 of file PassPlugin.h.

◆ PluginVersion

const char* llvm::PassPluginLibraryInfo::PluginVersion

The version of the plugin.

Definition at line 52 of file PassPlugin.h.

◆ PreCodeGenCallback

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.

◆ RegisterPassBuilderCallbacks

void(* llvm::PassPluginLibraryInfo::RegisterPassBuilderCallbacks) (PassBuilder &) = nullptr

The callback for registering plugin passes with a PassBuilder instance.

Definition at line 56 of file PassPlugin.h.


The documentation for this struct was generated from the following file: