MimIR
0.1
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
matrix.cpp
Go to the documentation of this file.
1
#include "
mim/plug/matrix/matrix.h
"
2
3
#include <
mim/plugin.h
>
4
5
#include <
mim/pass/pass.h
>
6
7
#include <
mim/plug/compile/pass/internal_cleanup.h
>
8
9
#include "
mim/plug/matrix/pass/lower_matrix_highlevel.h
"
10
#include "
mim/plug/matrix/pass/lower_matrix_lowlevel.h
"
11
#include "
mim/plug/matrix/pass/lower_matrix_mediumlevel.h
"
12
13
using namespace
mim
;
14
using namespace
mim::plug
;
15
16
extern
"C"
MIM_EXPORT
Plugin
mim_get_plugin
() {
17
return
{
18
"matrix"
, [](
Normalizers
& normalizers) {
matrix::register_normalizers
(normalizers); },
19
[](
Passes
& passes) {
20
register_pass<matrix::lower_matrix_high_level_map_reduce, mim::plug::matrix::LowerMatrixHighLevelMapRed>
(
21
passes);
22
register_pass<matrix::lower_matrix_medium_level, mim::plug::matrix::LowerMatrixMediumLevel>
(passes);
23
register_phase<matrix::lower_matrix_low_level, mim::plug::matrix::LowerMatrixLowLevel>
(passes);
24
register_pass<matrix::internal_map_reduce_cleanup, mim::plug::compile::InternalCleanup>
(passes,
25
INTERNAL_PREFIX
);
26
},
27
nullptr
};
28
}
MIM_EXPORT
#define MIM_EXPORT
Definition
config.h:16
internal_cleanup.h
lower_matrix_highlevel.h
lower_matrix_lowlevel.h
lower_matrix_mediumlevel.h
matrix.h
INTERNAL_PREFIX
#define INTERNAL_PREFIX
Definition
matrix.h:11
mim::plug::matrix::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::register_phase
void register_phase(Passes &passes, CArgs &&... args)
Definition
pipelinebuilder.h:54
mim::Normalizers
absl::flat_hash_map< flags_t, NormalizeFn > Normalizers
Definition
plugin.h:19
pass.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
matrix
matrix.cpp
Generated by
1.12.0