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