MimIR
0.1
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
direct.cpp
Go to the documentation of this file.
1
#include "
mim/plug/direct/direct.h
"
2
3
#include <
mim/plugin.h
>
4
5
#include <
mim/pass/pipelinebuilder.h
>
6
7
#include "
mim/plug/direct/pass/cps2ds.h
"
8
#include "
mim/plug/direct/pass/ds2cps.h
"
9
10
using namespace
mim
;
11
using namespace
mim::plug
;
12
13
extern
"C"
MIM_EXPORT
Plugin
mim_get_plugin
() {
14
return
{
"direct"
, [](
Normalizers
& normalizers) {
direct::register_normalizers
(normalizers); },
15
[](
Passes
& passes) {
16
register_pass<direct::ds2cps_pass, direct::DS2CPS>
(passes);
17
register_pass<direct::cps2ds_pass, direct::CPS2DS>
(passes);
18
},
19
nullptr
};
20
}
MIM_EXPORT
#define MIM_EXPORT
Definition
config.h:16
cps2ds.h
direct.h
ds2cps.h
mim::plug::direct::register_normalizers
void register_normalizers(Normalizers &normalizers)
mim::plug
Definition
affine.h:7
mim
Definition
cfg.h:11
mim::Passes
absl::flat_hash_map< flags_t, std::function< void(World &, PipelineBuilder &, const Def *)> > Passes
axiom ↦ (pipeline part) × (axiom application) → () The function should inspect Application to const...
Definition
plugin.h:22
mim::register_pass
void register_pass(Passes &passes, CArgs &&... args)
Definition
pipelinebuilder.h:47
mim::mim_get_plugin
MIM_EXPORT mim::Plugin mim_get_plugin()
mim::Normalizers
absl::flat_hash_map< flags_t, NormalizeFn > Normalizers
Definition
plugin.h:19
pipelinebuilder.h
plugin.h
mim::Plugin
Basic info and registration function pointer to be returned from a specific plugin.
Definition
plugin.h:29
src
mim
plug
direct
direct.cpp
Generated by
1.12.0