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 <functional>
4
5#include <mim/phase.h>
6
8
9/// Lowers the tensor axioms (`get`, `set`)
10/// to their underlying primitives (`extract`, `insert`).
11class LowerGetSet : public RWPhase {
12public:
15
16private:
17 const Def* rewrite_imm_App(const App*) final;
18
19 const Def* lower_get(const App*);
20 const Def* lower_set(const App*);
21};
22
23} // namespace mim::plug::tensor::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
const Def * rewrite_imm_App(const App *) final
LowerGetSet(World &world, flags_t annex)
u64 flags_t
Definition types.h:39