MimIR
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
lower_matrix_highlevel.h
Go to the documentation of this file.
1#pragma once
2
3#include <mim/def.h>
4#include <mim/phase.h>
5
7
8/// Resolves lowering of high level operations into medium/other high-level operations.
9/// Some of these transformations could be done as normalizer.
10/// We rewrite matrix operations like sum, transpose, and product into `map_reduce` operations.
11/// The corresponding `map_reduce` operations are annexes in the `matrix` plugin.
12
14public:
17
18 const Def* rewrite_imm_App(const App*) final;
19};
20
21} // namespace mim::plug::matrix::phase
Base class for all Defs.
Definition def.h:261
flags_t annex() const
Definition phase.h:81
RWPhase(World &world, std::string name, Analysis *analysis=nullptr)
Definition phase.h:316
World & world()=delete
Hides both and forbids direct access.
The World represents the whole program and manages creation of MimIR nodes (Defs).
Definition world.h:36
u64 flags_t
Definition types.h:39