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 <map>
4
#include <tuple>
5
6
#include <
mim/pass/pass.h
>
7
8
namespace
mim::plug::clos
{
9
10
class
BranchClosElim
:
public
RWPass
<BranchClosElim, Lam> {
11
public
:
12
BranchClosElim
(
PassMan
&
man
)
13
:
RWPass
(
man
,
"branch_clos_elim"
)
14
, branch2dropped_() {}
15
16
const
Def
*
rewrite
(
const
Def
*)
override
;
17
18
private
:
19
DefMap<Lam*>
branch2dropped_;
20
};
21
22
};
// namespace mim::plug::clos
mim::Def
Base class for all Defs.
Definition
def.h:198
mim::Pass::man
PassMan & man()
Definition
pass.h:30
mim::Pass::PassMan
friend class PassMan
Definition
pass.h:101
mim::RWPass< BranchClosElim, Lam >::RWPass
RWPass(PassMan &man, std::string_view name)
Definition
pass.h:222
mim::plug::clos::BranchClosElim::BranchClosElim
BranchClosElim(PassMan &man)
Definition
branch_clos_elim.h:12
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::DefMap
GIDMap< const Def *, To > DefMap
Definition
def.h:46
pass.h
include
mim
plug
clos
pass
branch_clos_elim.h
Generated by
1.13.2