MimIR 0.1
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
mim::plug::clos::BranchClosElim Class Reference

#include <mim/plug/clos/pass/branch_clos_elim.h>

Inheritance diagram for mim::plug::clos::BranchClosElim:
[legend]

Public Member Functions

 BranchClosElim (World &world, flags_t annex)
 
const Defrewrite (const Def *) override
 
- Public Member Functions inherited from mim::RWPass< BranchClosElim, Lam >
 RWPass (World &world, std::string name)
 
 RWPass (World &world, flags_t annex)
 
bool inspect () const override
 Should the PassMan even consider this pass?
 
Lamcurr_mut () const
 
- Public Member Functions inherited from mim::Pass
 Pass (World &world, std::string name)
 
 Pass (World &world, flags_t annex)
 
virtual void init (PassMan *)
 
PassManman ()
 
const PassManman () const
 
size_t index () const
 
virtual const Defrewrite (const Var *var)
 
virtual const Defrewrite (const Proxy *proxy)
 
virtual undo_t analyze (const Def *)
 
virtual undo_t analyze (const Var *)
 
virtual undo_t analyze (const Proxy *)
 
virtual bool fixed_point () const
 
virtual void enter ()
 Invoked just before Pass::rewriteing PassMan::curr_mut's body.
 
virtual void prepare ()
 Invoked once before entering the main rewrite loop.
 
const Proxyproxy (const Def *type, Defs ops, u32 tag=0)
 
const Proxyisa_proxy (const Def *def, u32 tag=0)
 Check whether given def is a Proxy whose Proxy::pass matches this Pass's IPass::index.
 
const Proxyas_proxy (const Def *def, u32 tag=0)
 
- Public Member Functions inherited from mim::Stage
Worldworld ()
 
Driverdriver ()
 
Loglog () const
 
std::string_view name () const
 
flags_t annex () const
 
 Stage (World &world, std::string name)
 
 Stage (World &world, flags_t annex)
 
virtual ~Stage ()=default
 
virtual std::unique_ptr< Stagerecreate ()
 Creates a new instance; needed by a fixed-point PhaseMan.
 
virtual void apply (const App *)
 Invoked if your Stage has additional args.
 
virtual void apply (Stage &)
 Dito, but invoked by Stage::recreate.
 

Additional Inherited Members

static auto create (const Flags2Stages &stages, const Def *def)
 
template<class A, class P>
static void hook (Flags2Stages &stages)
 
- Protected Attributes inherited from mim::Stage
std::string name_
 

Detailed Description

Definition at line 7 of file branch_clos_elim.h.

Constructor & Destructor Documentation

◆ BranchClosElim()

mim::plug::clos::BranchClosElim::BranchClosElim ( World & world,
flags_t annex )
inline

Member Function Documentation

◆ rewrite()

const Def * mim::plug::clos::BranchClosElim::rewrite ( const Def * def)
overridevirtual

The documentation for this class was generated from the following files: