MimIR
0.5-dev
MimIR is my Intermediate Representation
Toggle main menu visibility
Loading...
Searching...
No Matches
affine.cpp
Go to the documentation of this file.
1
#include "
mim/plug/affine/affine.h
"
2
3
#include <
mim/config.h
>
4
#include <
mim/phase.h
>
5
6
#include "
mim/plug/affine/phase/lower_for.h
"
7
#include "
mim/plug/affine/phase/lower_index.h
"
8
9
using namespace
mim
;
10
using namespace
mim::plug
;
11
12
static
void
reg_phases
(
Flags2Phases
& phases) {
13
Phase::hook<affine::lower_for, affine::phase::LowerFor>
(phases);
14
Phase::hook<affine::lower_index, affine::phase::LowerIndex>
(phases);
15
}
16
17
MIM_PLUGIN_ENTRY
(
affine
) { plugin.register_phases =
reg_phases
; }
reg_phases
static void reg_phases(Flags2Phases &phases)
Definition
affine.cpp:12
affine.h
mim::Phase::hook
static void hook(Flags2Phases &phases)
Definition
phase.h:51
config.h
lower_for.h
lower_index.h
mim::plug::affine
The affine Plugin
Definition
affine.h:10
mim::plug
Definition
affine.h:10
mim
Definition
ast.h:16
mim::Flags2Phases
ankerl::unordered_dense::map< flags_t, std::function< std::unique_ptr< Phase >(World &)> > Flags2Phases
Maps an axiom of a Phase to a function that creates one.
Definition
plugin.h:30
phase.h
MIM_PLUGIN_ENTRY
#define MIM_PLUGIN_ENTRY(p)
Defines a Plugin's entry point; the body fills in the plugin handed to it, as in MIM_PLUGIN_ENTRY(dem...
Definition
plugin.h:196
src
mim
plug
affine
affine.cpp
Generated by
1.18.0