MimIR
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
lower_get_set.h
Go to the documentation of this file.
1#pragma once
2
3#include <mim/phase.h>
4
6
7/// Lowers the tensor axioms (`get`, `set`)
8/// to their underlying primitives (`extract`, `insert`).
9class LowerGetSet : public RWPhase {
10public:
13
14private:
15 const Def* rewrite_imm_App(const App*) final;
16
17 const Def* lower_get(const App*);
18 const Def* lower_set(const App*);
19};
20
21} // namespace mim::plug::tensor::phase
Base class for all Defs.
Definition def.h:273
flags_t annex() const
Definition phase.h:81
RWPhase(World &world, std::string name, Analysis *analysis=nullptr)
Definition phase.h:431
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:40
const Def * rewrite_imm_App(const App *) final
LowerGetSet(World &world, flags_t annex)
u64 flags_t
Definition types.h:39