MimIR 0.1
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
branch_normalize.h
Go to the documentation of this file.
1#pragma once
2
3#include "mim/phase/phase.h"
4
5namespace mim {
6
7/// Inlines in post-order all Lam%s that occur exactly *once* in the program.
9public:
11 : RWPhase(world, "branch normalize") {}
12
13private:
14 const Def* rewrite_mut_Lam(Lam*) final;
15
16 DefSet analyzed_;
17 LamMap<bool> candidate_;
18};
19
20} // namespace mim
const Def * rewrite_mut_Lam(Lam *) final
Base class for all Defs.
Definition def.h:251
A function.
Definition lam.h:109
RWPhase(World &world, std::string name)
Definition phase.h:73
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
Definition ast.h:14
GIDMap< Lam *, To > LamMap
Definition lam.h:216
GIDSet< const Def * > DefSet
Definition def.h:74