282#define THORIN_mem_NORMALIZER_IMPL \
283 void register_normalizers(Normalizers& normalizers) {\
284 normalizers[flags_t(Annex::Base<load>)] = &normalize_load; \
285 normalizers[flags_t(Annex::Base<store>)] = &normalize_store; \
286 normalizers[flags_t(Annex::Base<remem>)] = &normalize_remem; \
287 normalizers[flags_t(Annex::Base<lea>)] = &normalize_lea; \
341template<>
struct Axiom::Match<plug::
mem::M> {
using type =
Axiom; };
342template<>
struct Axiom::Match<plug::
mem::Ptr0> {
using type =
Axiom; };
343template<>
struct Axiom::Match<plug::
mem::m> {
using type =
Axiom; };
345template<>
struct Axiom::Match<plug::
mem::rm> {
using type =
Axiom; };
Helper class to retrieve Infer::arg if present.
Ref normalize_load(Ref type, Ref callee, Ref arg)
Ref normalize_store(Ref type, Ref callee, Ref arg)
Ref normalize_lea(Ref type, Ref callee, Ref arg)
Ref normalize_remem(Ref type, Ref callee, Ref mem)
void register_normalizers(Normalizers &normalizers)
static constexpr plugin_t Plugin_Id
absl::flat_hash_map< flags_t, NormalizeFn > Normalizers
static constexpr flags_t Base