MimIR 0.1
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
normalizers.cpp File Reference
Include dependency graph for normalizers.cpp:

Go to the source code of this file.

Namespaces

namespace  mim
 
namespace  mim::plug
 
namespace  mim::plug::core
 The core Plugin
 

Macros

#define CODE(i)
 
#define CODE(i)
 
#define M(S, D)
 

Functions

%core.nat
template<nat id>
Ref mim::plug::core::normalize_nat (Ref type, Ref callee, Ref arg)
 
%core.ncmp
template<ncmp id>
Ref mim::plug::core::normalize_ncmp (Ref type, Ref callee, Ref arg)
 
%core.icmp
template<icmp id>
Ref mim::plug::core::normalize_icmp (Ref type, Ref c, Ref arg)
 
%core.extrema
template<extrema id>
Ref mim::plug::core::normalize_extrema (Ref type, Ref c, Ref arg)
 
%core.abs
Ref mim::plug::core::normalize_abs (Ref type, Ref c, Ref arg)
 
%core.bit1
template<bit1 id>
Ref mim::plug::core::normalize_bit1 (Ref type, Ref c, Ref a)
 
%core.bit2
template<bit2 id>
Ref mim::plug::core::normalize_bit2 (Ref type, Ref c, Ref arg)
 
%core.idx
Ref mim::plug::core::normalize_idx (Ref type, Ref c, Ref arg)
 
%core.shr
template<shr id>
Ref mim::plug::core::normalize_shr (Ref type, Ref c, Ref arg)
 
%core.wrap
template<wrap id>
Ref mim::plug::core::normalize_wrap (Ref type, Ref c, Ref arg)
 
%core.div
template<div id>
Ref mim::plug::core::normalize_div (Ref full_type, Ref c, Ref arg)
 
%core.conv
template<conv id>
Ref mim::plug::core::normalize_conv (Ref dst_t, Ref c, Ref x)
 
%core.bitcast
Ref mim::plug::core::normalize_bitcast (Ref dst_t, Ref callee, Ref src)
 
%core.trait
template<trait id>
Ref mim::plug::core::normalize_trait (Ref nat, Ref callee, Ref type)
 
%core.zip
Ref mim::plug::core::normalize_zip (Ref type, Ref c, Ref arg)
 
%core.pe
template<pe id>
Ref mim::plug::core::normalize_pe (Ref type, Ref callee, Ref arg)
 

Macro Definition Documentation

◆ CODE [1/2]

#define CODE ( i)
Value:
case i: res = fold<Id, id, i>(*la, *lb, nsw, nuw); break;

◆ CODE [2/2]

#define CODE ( i)
Value:
case i: res = fold<Id, i>(*la, nsw, nuw); break;

◆ M

#define M ( S,
D )
Value:
else if (S == sw && D == dw) return world.lit(d_t, w2s<D>(mim::bitcast<w2s<S>>(*l)));
D bitcast(const S &src)
A bitcast from src of type S to D.
Definition util.h:26

Referenced by mim::plug::core::normalize_conv(), mim::plug::math::normalize_conv(), mim::plug::matrix::LowerMatrixHighLevelMapRed::rewrite_(), and mim::ClosedMutPhase< M >::start().