MimIR 0.1
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
plugin.h File Reference
#include <memory>
#include <string>
#include <absl/container/btree_map.h>
#include <absl/container/flat_hash_map.h>
#include "mim/config.h"
#include "mim/def.h"
Include dependency graph for plugin.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  mim::Plugin
 Basic info and registration function pointer to be returned from a specific plugin. More...
 
struct  mim::Annex
 Holds info about an entity defined within a Plugin (called Annex). More...
 

Namespaces

namespace  mim
 

Plugin Interface

See also
Plugin
using mim::Normalizers = absl::flat_hash_map<flags_t, NormalizeFn>
 
using mim::Passes = absl::flat_hash_map<flags_t, std::function<void(World&, PipelineBuilder&, const Def*)>>
 axiom ↦ (pipeline part) × (axiom application) → ()
The function should inspect Application to construct the Pass/Phase and add it to the pipeline.
 
using mim::Backends = absl::btree_map<std::string, void (*)(World&, std::ostream&)>
 
MIM_EXPORT mim::Plugin mim::mim_get_plugin ()