MimIR
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
unload.h
Go to the documentation of this file.
1#pragma once
2
3#include "mim/phase.h"
4
5namespace mim {
6
7class Unload : public Phase {
8public:
11
12 void apply(std::string);
13 void apply(const App* app) final { apply(tuple2str(app->arg())); }
14 void apply(Phase& p) final { apply(std::move(static_cast<Unload&>(p).plugin_str_)); }
15
16private:
17 void start() final;
18
19 std::string plugin_str_;
20 plugin_t plugin_;
21};
22
23} // namespace mim
flags_t annex() const
Definition phase.h:81
Phase(World &world, std::string name)
Definition phase.h:29
World & world()
Definition phase.h:77
void apply(std::string)
Definition unload.cpp:7
void apply(const App *app) final
Invoked if your Phase has additional args.
Definition unload.h:13
void apply(Phase &p) final
Dito, but invoked by Phase::recreate.
Definition unload.h:14
Unload(World &world, flags_t annex)
Definition unload.h:9
void start() final
Actual entry.
Definition unload.cpp:16
The World represents the whole program and manages creation of MimIR nodes (Defs).
Definition world.h:40
Definition ast.h:16
u64 flags_t
Definition types.h:39
std::string tuple2str(const Def *)
Definition tuple.cpp:48
u64 plugin_t
Definition types.h:40