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 | |
<tt>core.M</tt> | |
| enum class | mim::plug::core::M : flags_t |
<tt>core.Ptr</tt> | |
| enum class | mim::plug::core::Ptr : flags_t |
<tt>core.mode</tt> | |
| enum class | mim::plug::core::mode : flags_t { mim::plug::core::us = 0x1104c60000000400 , mim::plug::core::uS = 0x1104c60000000401 , mim::plug::core::nsw = 0x1104c60000000401 , mim::plug::core::Us = 0x1104c60000000402 , mim::plug::core::nuw = 0x1104c60000000402 , mim::plug::core::US = 0x1104c60000000403 , mim::plug::core::nsuw = 0x1104c60000000403 } |
<tt>core.minus</tt> | |
| enum class | mim::plug::core::minus : flags_t |
<tt>core.select</tt> | |
| enum class | mim::plug::core::select : flags_t |
| enum class | mim::plug::core::Select : flags_t |
Functions | |
| void | mim::plug::core::register_normalizers (Normalizers &normalizers) |
Variables | |
| static constexpr plugin_t | mim::plug::core::Plugin_Id = 0x1104c60000000000 |
<tt>core.nat</tt> | |
| enum class | mim::plug::core::nat : flags_t { mim::plug::core::add = 0x1104c60000000200 , mim::plug::core::sub = 0x1104c60000000201 , mim::plug::core::mul = 0x1104c60000000202 , mim::plug::core::div = 0x1104c60000000203 , mim::plug::core::rem = 0x1104c60000000204 } |
| template<nat id> | |
| const Def * | mim::plug::core::normalize_nat (const Def *type, const Def *callee, const Def *arg) |
<tt>core.ncmp</tt> | |
| enum class | mim::plug::core::ncmp : flags_t { mim::plug::core::gle = 0x1104c60000000300 , mim::plug::core::f = 0x1104c60000000300 , mim::plug::core::glE = 0x1104c60000000301 , mim::plug::core::e = 0x1104c60000000301 , mim::plug::core::gLe = 0x1104c60000000302 , mim::plug::core::l = 0x1104c60000000302 , mim::plug::core::gLE = 0x1104c60000000303 , mim::plug::core::le = 0x1104c60000000303 , mim::plug::core::Gle = 0x1104c60000000304 , mim::plug::core::g = 0x1104c60000000304 , mim::plug::core::GlE = 0x1104c60000000305 , mim::plug::core::ge = 0x1104c60000000305 , mim::plug::core::GLe = 0x1104c60000000306 , mim::plug::core::ne = 0x1104c60000000306 , mim::plug::core::GLE = 0x1104c60000000307 , mim::plug::core::t = 0x1104c60000000307 } |
| template<ncmp id> | |
| const Def * | mim::plug::core::normalize_ncmp (const Def *type, const Def *callee, const Def *arg) |
<tt>core.idx</tt> | |
| enum class | mim::plug::core::idx : flags_t |
| const Def * | mim::plug::core::normalize_idx (const Def *type, const Def *c, const Def *arg) |
<tt>core.bit1</tt> | |
| enum class | mim::plug::core::bit1 : flags_t { mim::plug::core::f = 0x1104c60000000600 , mim::plug::core::neg = 0x1104c60000000601 , mim::plug::core::id = 0x1104c60000000602 , mim::plug::core::t = 0x1104c60000000603 } |
| template<bit1 id> | |
| const Def * | mim::plug::core::normalize_bit1 (const Def *type, const Def *c, const Def *a) |
<tt>core.bit2</tt> | |
| enum class | mim::plug::core::bit2 : flags_t { mim::plug::core::f = 0x1104c60000000700 , mim::plug::core::nor = 0x1104c60000000701 , mim::plug::core::nciff = 0x1104c60000000702 , mim::plug::core::nfst = 0x1104c60000000703 , mim::plug::core::niff = 0x1104c60000000704 , mim::plug::core::nsnd = 0x1104c60000000705 , mim::plug::core::xor_ = 0x1104c60000000706 , mim::plug::core::nand = 0x1104c60000000707 , mim::plug::core::and_ = 0x1104c60000000708 , mim::plug::core::nxor = 0x1104c60000000709 , mim::plug::core::snd = 0x1104c6000000070a , mim::plug::core::iff = 0x1104c6000000070b , mim::plug::core::fst = 0x1104c6000000070c , mim::plug::core::ciff = 0x1104c6000000070d , mim::plug::core::or_ = 0x1104c6000000070e , mim::plug::core::t = 0x1104c6000000070f } |
| template<bit2 id> | |
| const Def * | mim::plug::core::normalize_bit2 (const Def *type, const Def *c, const Def *arg) |
<tt>core.shr</tt> | |
| enum class | mim::plug::core::shr : flags_t { mim::plug::core::a = 0x1104c60000000800 , mim::plug::core::l = 0x1104c60000000801 } |
| template<shr id> | |
| const Def * | mim::plug::core::normalize_shr (const Def *type, const Def *c, const Def *arg) |
<tt>core.wrap</tt> | |
| enum class | mim::plug::core::wrap : flags_t { mim::plug::core::add = 0x1104c60000000900 , mim::plug::core::sub = 0x1104c60000000901 , mim::plug::core::mul = 0x1104c60000000902 , mim::plug::core::shl = 0x1104c60000000903 } |
| template<wrap id> | |
| const Def * | mim::plug::core::normalize_wrap (const Def *type, const Def *c, const Def *arg) |
<tt>core.div</tt> | |
| enum class | mim::plug::core::div : flags_t { mim::plug::core::sdiv = 0x1104c60000000b00 , mim::plug::core::udiv = 0x1104c60000000b01 , mim::plug::core::srem = 0x1104c60000000b02 , mim::plug::core::urem = 0x1104c60000000b03 } |
| template<div id> | |
| const Def * | mim::plug::core::normalize_div (const Def *full_type, const Def *, const Def *arg) |
<tt>core.icmp</tt> | |
| enum class | mim::plug::core::icmp : flags_t { mim::plug::core::xygle = 0x1104c60000000c00 , mim::plug::core::f = 0x1104c60000000c00 , mim::plug::core::xyglE = 0x1104c60000000c01 , mim::plug::core::e = 0x1104c60000000c01 , mim::plug::core::xygLe = 0x1104c60000000c02 , mim::plug::core::xygLE = 0x1104c60000000c03 , mim::plug::core::xyGle = 0x1104c60000000c04 , mim::plug::core::xyGlE = 0x1104c60000000c05 , mim::plug::core::xyGLe = 0x1104c60000000c06 , mim::plug::core::xyGLE = 0x1104c60000000c07 , mim::plug::core::xYgle = 0x1104c60000000c08 , mim::plug::core::xYglE = 0x1104c60000000c09 , mim::plug::core::xYgLe = 0x1104c60000000c0a , mim::plug::core::sl = 0x1104c60000000c0a , mim::plug::core::xYgLE = 0x1104c60000000c0b , mim::plug::core::sle = 0x1104c60000000c0b , mim::plug::core::xYGle = 0x1104c60000000c0c , mim::plug::core::ug = 0x1104c60000000c0c , mim::plug::core::xYGlE = 0x1104c60000000c0d , mim::plug::core::uge = 0x1104c60000000c0d , mim::plug::core::xYGLe = 0x1104c60000000c0e , mim::plug::core::xYGLE = 0x1104c60000000c0f , mim::plug::core::Xygle = 0x1104c60000000c10 , mim::plug::core::XyglE = 0x1104c60000000c11 , mim::plug::core::XygLe = 0x1104c60000000c12 , mim::plug::core::ul = 0x1104c60000000c12 , mim::plug::core::XygLE = 0x1104c60000000c13 , mim::plug::core::ule = 0x1104c60000000c13 , mim::plug::core::XyGle = 0x1104c60000000c14 , mim::plug::core::sg = 0x1104c60000000c14 , mim::plug::core::XyGlE = 0x1104c60000000c15 , mim::plug::core::sge = 0x1104c60000000c15 , mim::plug::core::XyGLe = 0x1104c60000000c16 , mim::plug::core::XyGLE = 0x1104c60000000c17 , mim::plug::core::XYgle = 0x1104c60000000c18 , mim::plug::core::XYglE = 0x1104c60000000c19 , mim::plug::core::XYgLe = 0x1104c60000000c1a , mim::plug::core::XYgLE = 0x1104c60000000c1b , mim::plug::core::XYGle = 0x1104c60000000c1c , mim::plug::core::XYGlE = 0x1104c60000000c1d , mim::plug::core::XYGLe = 0x1104c60000000c1e , mim::plug::core::ne = 0x1104c60000000c1e , mim::plug::core::XYGLE = 0x1104c60000000c1f , mim::plug::core::t = 0x1104c60000000c1f } |
| template<icmp id> | |
| const Def * | mim::plug::core::normalize_icmp (const Def *type, const Def *c, const Def *arg) |
<tt>core.extrema</tt> | |
| enum class | mim::plug::core::extrema : flags_t { mim::plug::core::sm = 0x1104c60000000d00 , mim::plug::core::umin = 0x1104c60000000d00 , mim::plug::core::sM = 0x1104c60000000d01 , mim::plug::core::umax = 0x1104c60000000d01 , mim::plug::core::Sm = 0x1104c60000000d02 , mim::plug::core::smin = 0x1104c60000000d02 , mim::plug::core::SM = 0x1104c60000000d03 , mim::plug::core::smax = 0x1104c60000000d03 } |
| template<extrema id> | |
| const Def * | mim::plug::core::normalize_extrema (const Def *type, const Def *c, const Def *arg) |
<tt>core.abs</tt> | |
| enum class | mim::plug::core::abs : flags_t |
| const Def * | mim::plug::core::normalize_abs (const Def *type, const Def *, const Def *arg) |
<tt>core.conv</tt> | |
| enum class | mim::plug::core::conv : flags_t { mim::plug::core::s = 0x1104c60000000f00 , mim::plug::core::u = 0x1104c60000000f01 } |
| template<conv id> | |
| const Def * | mim::plug::core::normalize_conv (const Def *dst_t, const Def *, const Def *x) |
<tt>core.idx2nat</tt> | |
| enum class | mim::plug::core::idx2nat : flags_t |
| const Def * | mim::plug::core::normalize_idx2nat (const Def *type, const Def *, const Def *x) |
<tt>core.bitcast</tt> | |
| enum class | mim::plug::core::bitcast : flags_t |
| const Def * | mim::plug::core::normalize_bitcast (const Def *dst_t, const Def *, const Def *src) |
<tt>core.trait</tt> | |
| enum class | mim::plug::core::trait : flags_t { mim::plug::core::size = 0x1104c60000001200 , mim::plug::core::align = 0x1104c60000001201 } |
| template<trait id> | |
| const Def * | mim::plug::core::normalize_trait (const Def *, const Def *, const Def *type) |
<tt>core.pe</tt> | |
| enum class | mim::plug::core::pe : flags_t { mim::plug::core::hlt = 0x1104c60000001300 , mim::plug::core::run = 0x1104c60000001301 , mim::plug::core::is_closed = 0x1104c60000001302 } |
| template<pe id> | |
| const Def * | mim::plug::core::normalize_pe (const Def *type, const Def *, const Def *arg) |