MimIR 0.1
MimIR is my Intermediate Representation
|
Functions | |
void | register_normalizers (Normalizers &normalizers) |
Variables | |
static constexpr plugin_t | Plugin_Id = 0x5c61000000000000 |
%vec.fold | |
enum class | fold : flags_t { l = 0x5c61000000000000 , r = 0x5c61000000000001 } |
template<fold id> | |
const Def * | normalize_fold (const Def *, const Def *c, const Def *arg) |
%vec.scan | |
enum class | scan : flags_t { for_all = 0x5c61000000000100 , exists = 0x5c61000000000101 } |
template<scan id> | |
const Def * | normalize_scan (const Def *, const Def *c, const Def *vec) |
%vec.is_unique | |
enum class | is_unique : flags_t |
const Def * | normalize_is_unique (const Def *, const Def *, const Def *vec) |
%vec.diff | |
enum class | diff : flags_t |
const Def * | normalize_diff (const Def *type, const Def *c, const Def *arg) |
|
strong |
|
strong |
|
strong |
|
strong |
Definition at line 66 of file normalizers.cpp.
References mim::Lit::as(), mim::Def::is_closed(), mim::Lit::isa(), mim::Def::projs(), and mim::Arr::shape().
const Def * mim::plug::vec::normalize_fold | ( | const Def * | , |
const Def * | c, | ||
const Def * | arg ) |
Definition at line 9 of file normalizers.cpp.
References l, mim::Def::projs(), and r.
Definition at line 47 of file normalizers.cpp.
References mim::Lit::isa(), and l.
const Def * mim::plug::vec::normalize_scan | ( | const Def * | , |
const Def * | c, | ||
const Def * | vec ) |
Definition at line 30 of file normalizers.cpp.
References mim::plug::core::and_, mim::App::arg(), exists, and mim::plug::core::or_.
void mim::plug::vec::register_normalizers | ( | Normalizers & | normalizers | ) |
Referenced by mim_get_plugin().