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 Ref rewrite(Ref) override;
17
18private:
19 DefMap<Lam*> branch2dropped_;
20};
21
22}; // namespace mim::plug::clos
An optimizer that combines several optimizations in an optimal way.
Definition pass.h:107
PassMan & man()
Definition pass.h:30
Inherit from this class using CRTP, if your Pass does not need state and a fixed-point iteration.
Definition pass.h:220
Helper class to retrieve Infer::arg if present.
Definition def.h:85
The clos Plugin
Definition clos.h:7
GIDMap< const Def *, To > DefMap
Definition def.h:57