MimIR
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::buffer
 The buffer Plugin
namespace  mim
namespace  mim::plug

Macros

#define MIM_buffer_NORMALIZER_IMPL

Enumerations

<tt>buffer.alloc</tt>
enum class  mim::plug::buffer::alloc : flags_t
<tt>buffer.init</tt>
enum class  mim::plug::buffer::init : flags_t
<tt>buffer.lit</tt>
enum class  mim::plug::buffer::lit : flags_t
<tt>buffer.copy</tt>
enum class  mim::plug::buffer::copy : flags_t
<tt>buffer.free</tt>
enum class  mim::plug::buffer::free : flags_t
<tt>buffer.lower_ptr</tt>
enum class  mim::plug::buffer::lower_ptr : flags_t

Functions

void mim::plug::buffer::register_normalizers (Normalizers &normalizers)

Variables

static constexpr plugin_t mim::plug::buffer::Plugin_Id = 0xd61c71930000000

<tt>buffer.Buf</tt>

enum class  mim::plug::buffer::Buf : flags_t
const Def * mim::plug::buffer::normalize_Buf (const Def *, const Def *callee, const Def *arg)
 Buf (r, s, T) with literal size-1 axes in s ↦ Buf (r', s', T) with those axes dropped.

<tt>buffer.read</tt>

enum class  mim::plug::buffer::read : flags_t
const Def * mim::plug::buffer::normalize_read (const Def *type, const Def *, const Def *arg)
 read (constant v) idx ↦ v.

<tt>buffer.write</tt>

enum class  mim::plug::buffer::write : flags_t
const Def * mim::plug::buffer::normalize_write (const Def *, const Def *, const Def *)

<tt>buffer.shape</tt>

enum class  mim::plug::buffer::shape : flags_t
const Def * mim::plug::buffer::normalize_shape (const Def *type, const Def *callee, const Def *arg)
 shape (r, s, T) (buf, i) ↦ s#i; the logical shape, since the type of buf has its size-1 axes folded away.

Macro Definition Documentation

◆ MIM_buffer_NORMALIZER_IMPL

#define MIM_buffer_NORMALIZER_IMPL
Value:
void register_normalizers(Normalizers& normalizers) {\
normalizers[flags_t(Annex::Base<Buf>)] = &normalize_Buf; \
normalizers[flags_t(Annex::Base<read>)] = &normalize_read; \
normalizers[flags_t(Annex::Base<write>)] = &normalize_write; \
normalizers[flags_t(Annex::Base<shape>)] = &normalize_shape; \
}

Definition at line 88 of file autogen.h.