|
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 *) |
Public Member Functions inherited from mim::Rewriter | |
| 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 | |
Protected Attributes inherited from mim::Rewriter | |
| 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().