MimIR
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
mim::Plugin Struct Reference

Basic info and registration function pointer to be returned from a specific plugin. More...

#include <mim/plugin.h>

Public Types

using Handle = std::unique_ptr<void, void (*)(void*)>

Public Attributes

const char * name
 Name of the Plugin.
Version version
 Version of the Plugin.
void(*) register_normalizers (Normalizers &)
 Callback for registering the mapping from axm ids to normalizer functions in the given normalizers map.
void(*) register_phases (Flags2Phases &)
 Callback for registering the Plugin's callbacks for Phases.
const PluginArg * args
 The -X arguments this Plugin understands; see PluginArg.
size_t num_args
 Number of Plugin::args.
const PluginEnv * envs
 The environment variables this Plugin reads; see PluginEnv.
size_t num_envs
 Number of Plugin::envs.
const PluginSym * syms
 The symbols other Plugins may look up; see PluginSym.
size_t num_syms
 Number of Plugin::syms.

Detailed Description

Basic info and registration function pointer to be returned from a specific plugin.

Use Driver to load such a plugin.

Definition at line 165 of file plugin.h.

Member Typedef Documentation

◆ Handle

using mim::Plugin::Handle = std::unique_ptr<void, void (*)(void*)>

Definition at line 166 of file plugin.h.

Member Data Documentation

◆ args

const PluginArg* mim::Plugin::args

The -X arguments this Plugin understands; see PluginArg.

Definition at line 179 of file plugin.h.

◆ envs

const PluginEnv* mim::Plugin::envs

The environment variables this Plugin reads; see PluginEnv.

Definition at line 181 of file plugin.h.

◆ name

const char* mim::Plugin::name

Name of the Plugin.

Definition at line 168 of file plugin.h.

◆ num_args

size_t mim::Plugin::num_args

Number of Plugin::args.

Definition at line 180 of file plugin.h.

◆ num_envs

size_t mim::Plugin::num_envs

Number of Plugin::envs.

Definition at line 182 of file plugin.h.

◆ num_syms

size_t mim::Plugin::num_syms

Number of Plugin::syms.

Definition at line 184 of file plugin.h.

◆ register_normalizers

void(*) mim::Plugin::register_normalizers(Normalizers &)

Callback for registering the mapping from axm ids to normalizer functions in the given normalizers map.

Definition at line 172 of file plugin.h.

◆ register_phases

void(*) mim::Plugin::register_phases(Flags2Phases &)

Callback for registering the Plugin's callbacks for Phases.

Definition at line 174 of file plugin.h.

◆ syms

const PluginSym* mim::Plugin::syms

The symbols other Plugins may look up; see PluginSym.

Definition at line 183 of file plugin.h.

◆ version

Version mim::Plugin::version

Version of the Plugin.

Definition at line 169 of file plugin.h.


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