Thorin 1.9.0
The Higher ORder INtermediate representation
Loading...
Searching...
No Matches
plugin.h File Reference
#include <memory>
#include <string>
#include <vector>
#include <absl/container/btree_map.h>
#include <absl/container/flat_hash_map.h>
#include "thorin/config.h"
#include "thorin/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  thorin::Plugin
 Basic info and registration function pointer to be returned from a specific plugin. More...
 
struct  thorin::Annex
 Holds info about an entity defined within a Plugin (called Annex). More...
 

Namespaces

namespace  thorin
 

Plugin Interface

See also
Plugin
using thorin::Normalizers = absl::flat_hash_map< flags_t, NormalizeFn >
 
using thorin::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 thorin::Backends = absl::btree_map< std::string, void(*)(World &, std::ostream &)>
 
THORIN_EXPORT thorin::Plugin thorin::thorin_get_plugin ()
 To be implemented and exported by a plugin.