MimIR 0.1
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
autogen.h File Reference
#include <mim/axm.h>
#include <mim/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  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
 
%core.select
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
 

%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>
const Defmim::plug::core::normalize_nat (const Def *type, const Def *callee, const Def *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>
const Defmim::plug::core::normalize_ncmp (const Def *type, const Def *callee, const Def *arg)
 

%core.idx

enum class  mim::plug::core::idx : flags_t
 
const Defmim::plug::core::normalize_idx (const Def *type, const Def *c, const Def *arg)
 

%core.idx_unsafe

enum class  mim::plug::core::idx_unsafe : flags_t
 
const Defmim::plug::core::normalize_idx_unsafe (const Def *type, const Def *c, const Def *arg)
 

%core.bit1

enum class  mim::plug::core::bit1 : flags_t {
  mim::plug::core::f = 0x1104c60000000500 ,
  mim::plug::core::neg = 0x1104c60000000501 ,
  mim::plug::core::id = 0x1104c60000000502 ,
  mim::plug::core::t = 0x1104c60000000503
}
 
template<bit1 id>
const Defmim::plug::core::normalize_bit1 (const Def *type, const Def *c, const Def *a)
 

%core.bit2

enum class  mim::plug::core::bit2 : flags_t {
  mim::plug::core::f = 0x1104c60000000600 ,
  mim::plug::core::nor = 0x1104c60000000601 ,
  mim::plug::core::nciff = 0x1104c60000000602 ,
  mim::plug::core::nfst = 0x1104c60000000603 ,
  mim::plug::core::niff = 0x1104c60000000604 ,
  mim::plug::core::nsnd = 0x1104c60000000605 ,
  mim::plug::core::xor_ = 0x1104c60000000606 ,
  mim::plug::core::nand = 0x1104c60000000607 ,
  mim::plug::core::and_ = 0x1104c60000000608 ,
  mim::plug::core::nxor = 0x1104c60000000609 ,
  mim::plug::core::snd = 0x1104c6000000060a ,
  mim::plug::core::iff = 0x1104c6000000060b ,
  mim::plug::core::fst = 0x1104c6000000060c ,
  mim::plug::core::ciff = 0x1104c6000000060d ,
  mim::plug::core::or_ = 0x1104c6000000060e ,
  mim::plug::core::t = 0x1104c6000000060f
}
 
template<bit2 id>
const Defmim::plug::core::normalize_bit2 (const Def *type, const Def *c, const Def *arg)
 

%core.shr

enum class  mim::plug::core::shr : flags_t {
  mim::plug::core::a = 0x1104c60000000700 ,
  mim::plug::core::l = 0x1104c60000000701
}
 
template<shr id>
const Defmim::plug::core::normalize_shr (const Def *type, const Def *c, const Def *arg)
 

%core.wrap

enum class  mim::plug::core::wrap : flags_t {
  mim::plug::core::add = 0x1104c60000000800 ,
  mim::plug::core::sub = 0x1104c60000000801 ,
  mim::plug::core::mul = 0x1104c60000000802 ,
  mim::plug::core::shl = 0x1104c60000000803
}
 
template<wrap id>
const Defmim::plug::core::normalize_wrap (const Def *type, const Def *c, const Def *arg)
 

%core.div

enum class  mim::plug::core::div : flags_t {
  mim::plug::core::sdiv = 0x1104c60000000a00 ,
  mim::plug::core::udiv = 0x1104c60000000a01 ,
  mim::plug::core::srem = 0x1104c60000000a02 ,
  mim::plug::core::urem = 0x1104c60000000a03
}
 
template<div id>
const Defmim::plug::core::normalize_div (const Def *full_type, const Def *, const Def *arg)
 

%core.icmp

enum class  mim::plug::core::icmp : flags_t {
  mim::plug::core::xygle = 0x1104c60000000b00 ,
  mim::plug::core::f = xygle ,
  mim::plug::core::xyglE = 0x1104c60000000b01 ,
  mim::plug::core::e = xyglE ,
  mim::plug::core::xygLe = 0x1104c60000000b02 ,
  mim::plug::core::xygLE = 0x1104c60000000b03 ,
  mim::plug::core::xyGle = 0x1104c60000000b04 ,
  mim::plug::core::xyGlE = 0x1104c60000000b05 ,
  mim::plug::core::xyGLe = 0x1104c60000000b06 ,
  mim::plug::core::xyGLE = 0x1104c60000000b07 ,
  mim::plug::core::xYgle = 0x1104c60000000b08 ,
  mim::plug::core::xYglE = 0x1104c60000000b09 ,
  mim::plug::core::xYgLe = 0x1104c60000000b0a ,
  mim::plug::core::sl = xYgLe ,
  mim::plug::core::xYgLE = 0x1104c60000000b0b ,
  mim::plug::core::sle = xYgLE ,
  mim::plug::core::xYGle = 0x1104c60000000b0c ,
  mim::plug::core::ug = xYGle ,
  mim::plug::core::xYGlE = 0x1104c60000000b0d ,
  mim::plug::core::uge = xYGlE ,
  mim::plug::core::xYGLe = 0x1104c60000000b0e ,
  mim::plug::core::xYGLE = 0x1104c60000000b0f ,
  mim::plug::core::Xygle = 0x1104c60000000b10 ,
  mim::plug::core::XyglE = 0x1104c60000000b11 ,
  mim::plug::core::XygLe = 0x1104c60000000b12 ,
  mim::plug::core::ul = XygLe ,
  mim::plug::core::XygLE = 0x1104c60000000b13 ,
  mim::plug::core::ule = XygLE ,
  mim::plug::core::XyGle = 0x1104c60000000b14 ,
  mim::plug::core::sg = XyGle ,
  mim::plug::core::XyGlE = 0x1104c60000000b15 ,
  mim::plug::core::sge = XyGlE ,
  mim::plug::core::XyGLe = 0x1104c60000000b16 ,
  mim::plug::core::XyGLE = 0x1104c60000000b17 ,
  mim::plug::core::XYgle = 0x1104c60000000b18 ,
  mim::plug::core::XYglE = 0x1104c60000000b19 ,
  mim::plug::core::XYgLe = 0x1104c60000000b1a ,
  mim::plug::core::XYgLE = 0x1104c60000000b1b ,
  mim::plug::core::XYGle = 0x1104c60000000b1c ,
  mim::plug::core::XYGlE = 0x1104c60000000b1d ,
  mim::plug::core::XYGLe = 0x1104c60000000b1e ,
  mim::plug::core::ne = XYGLe ,
  mim::plug::core::XYGLE = 0x1104c60000000b1f ,
  mim::plug::core::t = XYGLE
}
 
template<icmp id>
const Defmim::plug::core::normalize_icmp (const Def *type, const Def *c, const Def *arg)
 

%core.extrema

enum class  mim::plug::core::extrema : flags_t {
  mim::plug::core::sm = 0x1104c60000000c00 ,
  mim::plug::core::umin = sm ,
  mim::plug::core::sM = 0x1104c60000000c01 ,
  mim::plug::core::umax = sM ,
  mim::plug::core::Sm = 0x1104c60000000c02 ,
  mim::plug::core::smin = Sm ,
  mim::plug::core::SM = 0x1104c60000000c03 ,
  mim::plug::core::smax = SM
}
 
template<extrema id>
const Defmim::plug::core::normalize_extrema (const Def *type, const Def *c, const Def *arg)
 

%core.abs

enum class  mim::plug::core::abs : flags_t
 
const Defmim::plug::core::normalize_abs (const Def *type, const Def *, const Def *arg)
 

%core.conv

enum class  mim::plug::core::conv : flags_t {
  mim::plug::core::s = 0x1104c60000000e00 ,
  mim::plug::core::u = 0x1104c60000000e01
}
 
template<conv id>
const Defmim::plug::core::normalize_conv (const Def *dst_t, const Def *, const Def *x)
 

%core.bitcast

enum class  mim::plug::core::bitcast : flags_t
 
const Defmim::plug::core::normalize_bitcast (const Def *dst_t, const Def *, const Def *src)
 

%core.trait

enum class  mim::plug::core::trait : flags_t {
  mim::plug::core::size = 0x1104c60000001000 ,
  mim::plug::core::align = 0x1104c60000001001
}
 
template<trait id>
const Defmim::plug::core::normalize_trait (const Def *, const Def *, const Def *type)
 

%core.pe

enum class  mim::plug::core::pe : flags_t {
  mim::plug::core::hlt = 0x1104c60000001100 ,
  mim::plug::core::run = 0x1104c60000001101 ,
  mim::plug::core::is_closed = 0x1104c60000001102
}
 
template<pe id>
const Defmim::plug::core::normalize_pe (const Def *type, const Def *, const Def *arg)
 

Macro Definition Documentation

◆ MIM_core_NORMALIZER_IMPL

#define MIM_core_NORMALIZER_IMPL

Definition at line 302 of file autogen.h.