MimIR 0.1
MimIR is my Intermediate Representation
|
Go to the source code of this file.
Namespaces | |
namespace | mim::plug::core |
The core Plugin | |
namespace | mim |
namespace | mim::plug |
Macros | |
#define | MIM_core_NORMALIZER_IMPL |
Enumerations | |
%core.mode | |
enum class | mim::plug::core::mode : flags_t { mim::plug::core::us = 0x1104c60000000200 , mim::plug::core::uS = 0x1104c60000000201 , mim::plug::core::Us = 0x1104c60000000202 , mim::plug::core::US = 0x1104c60000000203 , mim::plug::core::nuw = 0x1104c60000000204 , mim::plug::core::nsw = 0x1104c60000000205 , mim::plug::core::nusw = 0x1104c60000000206 } |
%core.minus | |
enum class | mim::plug::core::minus : flags_t |
Functions | |
void | mim::plug::core::register_normalizers (Normalizers &normalizers) |
Variables | |
static constexpr plugin_t | mim::plug::core::Plugin_Id = 0x1104c60000000000 |
%core.nat | |
enum class | mim::plug::core::nat : flags_t { mim::plug::core::add = 0x1104c60000000000 , mim::plug::core::sub = 0x1104c60000000001 , mim::plug::core::mul = 0x1104c60000000002 } |
template<nat id> | |
Ref | mim::plug::core::normalize_nat (Ref type, Ref callee, Ref arg) |
%core.ncmp | |
enum class | mim::plug::core::ncmp : flags_t { mim::plug::core::gle = 0x1104c60000000100 , mim::plug::core::f = gle , mim::plug::core::glE = 0x1104c60000000101 , mim::plug::core::e = glE , mim::plug::core::gLe = 0x1104c60000000102 , mim::plug::core::l = gLe , mim::plug::core::gLE = 0x1104c60000000103 , mim::plug::core::le = gLE , mim::plug::core::Gle = 0x1104c60000000104 , mim::plug::core::g = Gle , mim::plug::core::GlE = 0x1104c60000000105 , mim::plug::core::ge = GlE , mim::plug::core::GLe = 0x1104c60000000106 , mim::plug::core::ne = GLe , mim::plug::core::GLE = 0x1104c60000000107 , mim::plug::core::t = GLE } |
template<ncmp id> | |
Ref | mim::plug::core::normalize_ncmp (Ref type, Ref callee, Ref arg) |
%core.idx | |
enum class | mim::plug::core::idx : flags_t |
Ref | mim::plug::core::normalize_idx (Ref type, Ref c, Ref arg) |
%core.bit1 | |
enum class | mim::plug::core::bit1 : flags_t { mim::plug::core::f = 0x1104c60000000400 , mim::plug::core::neg = 0x1104c60000000401 , mim::plug::core::id = 0x1104c60000000402 , mim::plug::core::t = 0x1104c60000000403 } |
template<bit1 id> | |
Ref | mim::plug::core::normalize_bit1 (Ref type, Ref c, Ref a) |
%core.bit2 | |
enum class | mim::plug::core::bit2 : flags_t { mim::plug::core::f = 0x1104c60000000500 , mim::plug::core::nor = 0x1104c60000000501 , mim::plug::core::nciff = 0x1104c60000000502 , mim::plug::core::nfst = 0x1104c60000000503 , mim::plug::core::niff = 0x1104c60000000504 , mim::plug::core::nsnd = 0x1104c60000000505 , mim::plug::core::xor_ = 0x1104c60000000506 , mim::plug::core::nand = 0x1104c60000000507 , mim::plug::core::and_ = 0x1104c60000000508 , mim::plug::core::nxor = 0x1104c60000000509 , mim::plug::core::snd = 0x1104c6000000050a , mim::plug::core::iff = 0x1104c6000000050b , mim::plug::core::fst = 0x1104c6000000050c , mim::plug::core::ciff = 0x1104c6000000050d , mim::plug::core::or_ = 0x1104c6000000050e , mim::plug::core::t = 0x1104c6000000050f } |
template<bit2 id> | |
Ref | mim::plug::core::normalize_bit2 (Ref type, Ref c, Ref arg) |
%core.shr | |
enum class | mim::plug::core::shr : flags_t { mim::plug::core::a = 0x1104c60000000600 , mim::plug::core::l = 0x1104c60000000601 } |
template<shr id> | |
Ref | mim::plug::core::normalize_shr (Ref type, Ref c, Ref arg) |
%core.wrap | |
enum class | mim::plug::core::wrap : flags_t { mim::plug::core::add = 0x1104c60000000700 , mim::plug::core::sub = 0x1104c60000000701 , mim::plug::core::mul = 0x1104c60000000702 , mim::plug::core::shl = 0x1104c60000000703 } |
template<wrap id> | |
Ref | mim::plug::core::normalize_wrap (Ref type, Ref c, Ref arg) |
%core.div | |
enum class | mim::plug::core::div : flags_t { mim::plug::core::sdiv = 0x1104c60000000900 , mim::plug::core::udiv = 0x1104c60000000901 , mim::plug::core::srem = 0x1104c60000000902 , mim::plug::core::urem = 0x1104c60000000903 } |
template<div id> | |
Ref | mim::plug::core::normalize_div (Ref full_type, Ref c, Ref arg) |
%core.extrema | |
enum class | mim::plug::core::extrema : flags_t { mim::plug::core::sm = 0x1104c60000000b00 , mim::plug::core::umin = sm , mim::plug::core::sM = 0x1104c60000000b01 , mim::plug::core::umax = sM , mim::plug::core::Sm = 0x1104c60000000b02 , mim::plug::core::smin = Sm , mim::plug::core::SM = 0x1104c60000000b03 , mim::plug::core::smax = SM } |
template<extrema id> | |
Ref | mim::plug::core::normalize_extrema (Ref type, Ref c, Ref arg) |
%core.abs | |
enum class | mim::plug::core::abs : flags_t |
Ref | mim::plug::core::normalize_abs (Ref type, Ref c, Ref arg) |
%core.conv | |
enum class | mim::plug::core::conv : flags_t { mim::plug::core::s = 0x1104c60000000d00 , mim::plug::core::u = 0x1104c60000000d01 } |
template<conv id> | |
Ref | mim::plug::core::normalize_conv (Ref dst_t, Ref c, Ref x) |
%core.bitcast | |
enum class | mim::plug::core::bitcast : flags_t |
Ref | mim::plug::core::normalize_bitcast (Ref dst_t, Ref callee, Ref src) |
%core.trait | |
enum class | mim::plug::core::trait : flags_t { mim::plug::core::size = 0x1104c60000000f00 , mim::plug::core::align = 0x1104c60000000f01 } |
template<trait id> | |
Ref | mim::plug::core::normalize_trait (Ref nat, Ref callee, Ref type) |
%core.pe | |
enum class | mim::plug::core::pe : flags_t { mim::plug::core::hlt = 0x1104c60000001000 , mim::plug::core::run = 0x1104c60000001001 , mim::plug::core::known = 0x1104c60000001002 } |
template<pe id> | |
Ref | mim::plug::core::normalize_pe (Ref type, Ref callee, Ref arg) |
%core.zip | |
enum class | mim::plug::core::zip : flags_t |
Ref | mim::plug::core::normalize_zip (Ref type, Ref c, Ref arg) |