21 auto [pointee, addr_space] = alloc->decurry()->args<2>();
24 auto [Ta, mr] = slot->uncurry_args<2>();
25 auto [pointee, addr_space] = Ta->projs<2>();
26 auto [
mem, ret] = mr->projs<2>();
void reg_phases(Flags2Phases &phases)
static auto isa(const Def *def)
static void hook(Flags2Phases &phases)
void reg_phases(Flags2Phases &phases)
void register_normalizers(Normalizers &normalizers)
const Def * op_mslot(const Def *type, const Def *as, const Def *mem, const Def *ret)
const Def * op_malloc(const Def *type, const Def *as, const Def *mem)
absl::flat_hash_map< flags_t, std::function< std::unique_ptr< Phase >(World &)> > Flags2Phases
Maps an axiom of a Phase to a function that creates one.
mim::Plugin mim_get_plugin()
#define MIM_REPL(__phases, __annex,...)
Basic info and registration function pointer to be returned from a specific plugin.