MimIR 0.1
MimIR is my Intermediate Representation
|
#include <mim/rewrite.h>
Public Member Functions | |
C'tor | |
Zonker (World &world) | |
Stack of Maps | |
const Def * | map (const Def *old_def, const Def *new_def) final |
const Def * | lookup (const Def *old_def) final |
Lookup old_def by searching in reverse through the stack of maps. | |
rewrite | |
const Def * | rewrite (const Def *) final |
const Def * | rewrite_mut (Def *mut) final |
const Def * | rewire_mut (Def *) |
![]() | |
Rewriter (std::unique_ptr< World > &&ptr) | |
Rewriter (World &world) | |
virtual | ~Rewriter ()=default |
void | reset (std::unique_ptr< World > &&ptr) |
void | reset () |
World & | world () |
virtual void | push () |
virtual void | pop () |
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 * | 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 (Zonker &z1, Zonker &z2) noexcept |
Additional Inherited Members | |
![]() | |
std::deque< Def2Def > | old2news_ |
|
inline |
Definition at line 161 of file rewrite.h.
References mim::Rewriter::Rewriter(), and mim::Rewriter::world().
Referenced by swap.
Lookup old_def
by searching in reverse through the stack of maps.
nullptr
if nothing was found. Reimplemented from mim::Rewriter.
Definition at line 211 of file rewrite.cpp.
References mim::Rewriter::old2news_.
Referenced by map().
Reimplemented from mim::Rewriter.
Definition at line 205 of file rewrite.cpp.
References lookup(), and mim::Rewriter::old2news_.
Referenced by rewire_mut(), and rewrite_mut().
Definition at line 247 of file rewrite.cpp.
References mim::Def::immutabilize(), map(), mim::Def::num_ops(), mim::Def::ops(), rewrite(), mim::Def::set(), mim::Def::set_type(), mim::Def::type(), and mim::Def::unset().
Referenced by mim::Def::zonk_mut().
Reimplemented from mim::Rewriter.
Definition at line 238 of file rewrite.cpp.
References mim::Def::isa_mut(), mim::Def::needs_zonk(), and mim::Rewriter::rewrite().
Referenced by rewire_mut(), and mim::Def::zonk().