MimIR
0.1
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
branch_clos_elim.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <
mim/pass.h
>
4
5
namespace
mim::plug::clos
{
6
7
class
BranchClosElim
:
public
RWPass
<BranchClosElim, Lam> {
8
public
:
9
BranchClosElim
(
World
&
world
,
flags_t
annex
)
10
:
RWPass
(
world
,
annex
) {}
11
12
const
Def
*
rewrite
(
const
Def
*)
override
;
13
14
private
:
15
DefMap<Lam*>
branch2dropped_;
16
};
17
18
};
// namespace mim::plug::clos
mim::Def
Base class for all Defs.
Definition
def.h:251
mim::RWPass< BranchClosElim, Lam >::RWPass
RWPass(World &world, std::string name)
Definition
pass.h:295
mim::Stage::world
World & world()
Definition
pass.h:64
mim::Stage::annex
flags_t annex() const
Definition
pass.h:68
mim::World
The World represents the whole program and manages creation of MimIR nodes (Defs).
Definition
world.h:36
mim::plug::clos::BranchClosElim::BranchClosElim
BranchClosElim(World &world, flags_t annex)
Definition
branch_clos_elim.h:9
mim::plug::clos::BranchClosElim::rewrite
const Def * rewrite(const Def *) override
Definition
branch_clos_elim.cpp:27
mim::plug::clos
The clos Plugin
Definition
clos.h:7
mim::flags_t
u64 flags_t
Definition
types.h:45
mim::DefMap
GIDMap< const Def *, To > DefMap
Definition
def.h:73
pass.h
include
mim
plug
clos
pass
branch_clos_elim.h
Generated by
1.13.2