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