Thorin 1.9.0
The Higher ORder INtermediate representation
Loading...
Searching...
No Matches
autogen.h File Reference
#include <thorin/axiom.h>
#include <thorin/plugin.h>
Include dependency graph for autogen.h:
This graph shows which files directly or indirectly include this file:

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.icmp

enum  thorin::plug::core::icmp : flags_t {
  thorin::plug::core::xygle = 0x1104c60000000a00 ,
  thorin::plug::core::f = gle ,
  thorin::plug::core::xyglE = 0x1104c60000000a01 ,
  thorin::plug::core::e = glE ,
  thorin::plug::core::xygLe = 0x1104c60000000a02 ,
  thorin::plug::core::xygLE = 0x1104c60000000a03 ,
  thorin::plug::core::xyGle = 0x1104c60000000a04 ,
  thorin::plug::core::xyGlE = 0x1104c60000000a05 ,
  thorin::plug::core::xyGLe = 0x1104c60000000a06 ,
  thorin::plug::core::xyGLE = 0x1104c60000000a07 ,
  thorin::plug::core::xYgle = 0x1104c60000000a08 ,
  thorin::plug::core::xYglE = 0x1104c60000000a09 ,
  thorin::plug::core::xYgLe = 0x1104c60000000a0a ,
  thorin::plug::core::sl = xYgLe ,
  thorin::plug::core::xYgLE = 0x1104c60000000a0b ,
  thorin::plug::core::sle = xYgLE ,
  thorin::plug::core::xYGle = 0x1104c60000000a0c ,
  thorin::plug::core::ug = xYGle ,
  thorin::plug::core::xYGlE = 0x1104c60000000a0d ,
  thorin::plug::core::uge = xYGlE ,
  thorin::plug::core::xYGLe = 0x1104c60000000a0e ,
  thorin::plug::core::xYGLE = 0x1104c60000000a0f ,
  thorin::plug::core::Xygle = 0x1104c60000000a10 ,
  thorin::plug::core::XyglE = 0x1104c60000000a11 ,
  thorin::plug::core::XygLe = 0x1104c60000000a12 ,
  thorin::plug::core::ul = XygLe ,
  thorin::plug::core::XygLE = 0x1104c60000000a13 ,
  thorin::plug::core::ule = XygLE ,
  thorin::plug::core::XyGle = 0x1104c60000000a14 ,
  thorin::plug::core::sg = XyGle ,
  thorin::plug::core::XyGlE = 0x1104c60000000a15 ,
  thorin::plug::core::sge = XyGlE ,
  thorin::plug::core::XyGLe = 0x1104c60000000a16 ,
  thorin::plug::core::XyGLE = 0x1104c60000000a17 ,
  thorin::plug::core::XYgle = 0x1104c60000000a18 ,
  thorin::plug::core::XYglE = 0x1104c60000000a19 ,
  thorin::plug::core::XYgLe = 0x1104c60000000a1a ,
  thorin::plug::core::XYgLE = 0x1104c60000000a1b ,
  thorin::plug::core::XYGle = 0x1104c60000000a1c ,
  thorin::plug::core::XYGlE = 0x1104c60000000a1d ,
  thorin::plug::core::XYGLe = 0x1104c60000000a1e ,
  thorin::plug::core::ne = GLe ,
  thorin::plug::core::XYGLE = 0x1104c60000000a1f ,
  thorin::plug::core::t = GLE
}
 
template<icmp id>
Ref thorin::plug::core::normalize_icmp (Ref 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)
 

Macro Definition Documentation

◆ THORIN_core_NORMALIZER_IMPL

#define THORIN_core_NORMALIZER_IMPL

Definition at line 380 of file autogen.h.