MimIR 0.1
MimIR is my Intermediate Representation
|
#include <mim/rewrite.h>
Public Member Functions | |
Construction | |
VarRewriter (World &world) | |
VarRewriter (const Var *var, const Def *arg) | |
VarRewriter & | add (const Var *var, const Def *arg) |
push / pop | |
void | push () final |
void | pop () final |
rewrite | |
const Def * | rewrite (const Def *) final |
const Def * | rewrite_mut (Def *) final |
![]() | |
Rewriter (std::unique_ptr< World > &&ptr) | |
Rewriter (World &world) | |
virtual | ~Rewriter ()=default |
void | reset (std::unique_ptr< World > &&ptr) |
void | reset () |
World & | world () |
virtual const Def * | map (const Def *old_def, const Def *new_def) |
const Def * | map (const Def *old_def, Defs new_defs) |
const Def * | map (Defs old_defs, const Def *new_def) |
const Def * | map (Defs old_defs, Defs new_defs) |
virtual const Def * | lookup (const Def *old_def) |
Lookup old_def by searching in reverse through the stack of maps. | |
virtual const Def * | rewrite_imm (const Def *) |
virtual const Def * | rewrite_stub (Def *, Def *) |
virtual DefVec | rewrite (Defs) |
virtual const Def * | rewrite_imm_Seq (const Seq *seq) |
virtual const Def * | rewrite_mut_Seq (Seq *seq) |
Friends | |
void | swap (VarRewriter &vrw1, VarRewriter &vrw2) noexcept |
Additional Inherited Members | |
![]() | |
std::deque< Def2Def > | old2news_ |
|
inline |
Definition at line 114 of file rewrite.h.
References mim::Rewriter::Rewriter(), and mim::Rewriter::world().
Definition at line 116 of file rewrite.h.
References add(), mim::Rewriter::Rewriter(), and mim::Rewriter::world().
|
inline |
Definition at line 122 of file rewrite.h.
References mim::Rewriter::map(), and VarRewriter().
Referenced by VarRewriter().
|
inlinefinalvirtual |
Reimplemented from mim::Rewriter.
Definition at line 132 of file rewrite.h.
References mim::Rewriter::pop().
|
inlinefinalvirtual |
Reimplemented from mim::Rewriter.
Definition at line 131 of file rewrite.h.
References mim::Rewriter::push().
Reimplemented from mim::Rewriter.
Definition at line 181 of file rewrite.cpp.
References mim::Def::dbg(), mim::Sets< D, N >::Set::empty(), mim::Def::isa_mut(), mim::Def::local_muts(), mim::Def::local_vars(), mim::Rewriter::lookup(), mim::Rewriter::rewrite_imm(), rewrite_mut(), and mim::Def::set().
Referenced by mim::World::extract(), and mim::plug::direct::op_cps2ds_dep().
Reimplemented from mim::Rewriter.
Definition at line 192 of file rewrite.cpp.
References mim::Def::has_var(), mim::Rewriter::rewrite_mut(), mim::World::vars(), and mim::Rewriter::world().
Referenced by rewrite().
|
friend |
Definition at line 141 of file rewrite.h.
References mim::Rewriter::Rewriter(), swap, and VarRewriter().
Referenced by swap.