MimIR
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
autogen.h File Reference
#include <mim/axm.h>
#include <mim/plugin.h>
#include <mim/plug/btensor/autogen.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::tensor
 The tensor Plugin
namespace  mim
namespace  mim::plug

Macros

#define MIM_tensor_NORMALIZER_IMPL

Typedefs

using mim::plug::tensor::Ring = plug::btensor::Ring
using mim::plug::tensor::Sched = plug::btensor::Sched
using mim::plug::tensor::SchedT = plug::btensor::SchedT
using mim::plug::tensor::mk_sched = plug::btensor::mk_sched
using mim::plug::tensor::proj_map = plug::btensor::proj_map

Enumerations

<tt>tensor.generate</tt>
enum class  mim::plug::tensor::generate : flags_t
<tt>tensor.splat</tt>
enum class  mim::plug::tensor::splat : flags_t
<tt>tensor.buf</tt>
enum class  mim::plug::tensor::buf : flags_t
<tt>tensor.id</tt>
enum class  mim::plug::tensor::id : flags_t
<tt>tensor.map_reduce_post</tt>
enum class  mim::plug::tensor::map_reduce_post : flags_t
<tt>tensor.map_reduce</tt>
enum class  mim::plug::tensor::map_reduce : flags_t
<tt>tensor.transpose_2d</tt>
enum class  mim::plug::tensor::transpose_2d : flags_t
<tt>tensor.binary</tt>
enum class  mim::plug::tensor::binary : flags_t
<tt>tensor.map</tt>
enum class  mim::plug::tensor::map : flags_t
<tt>tensor.select</tt>
enum class  mim::plug::tensor::select : flags_t
<tt>tensor.unary</tt>
enum class  mim::plug::tensor::unary : flags_t
<tt>tensor.bmm</tt>
enum class  mim::plug::tensor::bmm : flags_t
<tt>tensor.conv</tt>
enum class  mim::plug::tensor::conv : flags_t
<tt>tensor.conv_grouped</tt>
enum class  mim::plug::tensor::conv_grouped : flags_t
<tt>tensor.dot_product</tt>
enum class  mim::plug::tensor::dot_product : flags_t
<tt>tensor.pool</tt>
enum class  mim::plug::tensor::pool : flags_t
<tt>tensor.product_2d</tt>
enum class  mim::plug::tensor::product_2d : flags_t
<tt>tensor.gather</tt>
enum class  mim::plug::tensor::gather : flags_t
<tt>tensor.scatter</tt>
enum class  mim::plug::tensor::scatter : flags_t
<tt>tensor.interchange</tt>
enum class  mim::plug::tensor::interchange : flags_t
<tt>tensor.materialize</tt>
enum class  mim::plug::tensor::materialize : flags_t
<tt>tensor.mr_tileable</tt>
enum class  mim::plug::tensor::mr_tileable : flags_t
<tt>tensor.strip_mine_par</tt>
enum class  mim::plug::tensor::strip_mine_par : flags_t
<tt>tensor.strip_mine_red</tt>
enum class  mim::plug::tensor::strip_mine_red : flags_t
<tt>tensor.broadcast_in_dim_impl</tt>
enum class  mim::plug::tensor::broadcast_in_dim_impl : flags_t
<tt>tensor.flip_impl</tt>
enum class  mim::plug::tensor::flip_impl : flags_t
<tt>tensor.gather_pointwise_elem_impl</tt>
enum class  mim::plug::tensor::gather_pointwise_elem_impl : flags_t
<tt>tensor.map_impl</tt>
enum class  mim::plug::tensor::map_impl : flags_t
<tt>tensor.pool_impl</tt>
enum class  mim::plug::tensor::pool_impl : flags_t
<tt>tensor.repeat_impl</tt>
enum class  mim::plug::tensor::repeat_impl : flags_t
<tt>tensor.reshape_map</tt>
enum class  mim::plug::tensor::reshape_map : flags_t
<tt>tensor.reshape_impl</tt>
enum class  mim::plug::tensor::reshape_impl : flags_t
<tt>tensor.conv_impl</tt>
enum class  mim::plug::tensor::conv_impl : flags_t
<tt>tensor.conv_grouped_impl</tt>
enum class  mim::plug::tensor::conv_grouped_impl : flags_t
<tt>tensor.dot_product_impl</tt>
enum class  mim::plug::tensor::dot_product_impl : flags_t
<tt>tensor.bmm_impl</tt>
enum class  mim::plug::tensor::bmm_impl : flags_t
<tt>tensor.product_2d_impl</tt>
enum class  mim::plug::tensor::product_2d_impl : flags_t
<tt>tensor.scatter_step_impl</tt>
enum class  mim::plug::tensor::scatter_step_impl : flags_t
<tt>tensor.slice_impl</tt>
enum class  mim::plug::tensor::slice_impl : flags_t
<tt>tensor.transpose_impl</tt>
enum class  mim::plug::tensor::transpose_impl : flags_t
<tt>tensor.binary_impl</tt>
enum class  mim::plug::tensor::binary_impl : flags_t
<tt>tensor.select_impl</tt>
enum class  mim::plug::tensor::select_impl : flags_t
<tt>tensor.unary_impl</tt>
enum class  mim::plug::tensor::unary_impl : flags_t
<tt>tensor.reassoc</tt>
enum class  mim::plug::tensor::reassoc : flags_t
<tt>tensor.lower_tensor</tt>
enum class  mim::plug::tensor::lower_tensor : flags_t
<tt>tensor.lower_map_reduce</tt>
enum class  mim::plug::tensor::lower_map_reduce : flags_t
<tt>tensor.fuse_tensor</tt>
enum class  mim::plug::tensor::fuse_tensor : flags_t
<tt>tensor.lower_to_mem</tt>
enum class  mim::plug::tensor::lower_to_mem : flags_t

Functions

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

Variables

static constexpr plugin_t mim::plug::tensor::Plugin_Id = 0x5463d44130000000

<tt>tensor.shape</tt>

enum class  mim::plug::tensor::shape : flags_t
const Def * mim::plug::tensor::normalize_shape (const Def *, const Def *c, const Def *arg)

<tt>tensor.broadcast</tt>

enum class  mim::plug::tensor::broadcast : flags_t
const Def * mim::plug::tensor::normalize_broadcast (const Def *type, const Def *c, const Def *arg)

<tt>tensor.broadcast_in_dim</tt>

enum class  mim::plug::tensor::broadcast_in_dim : flags_t
const Def * mim::plug::tensor::normalize_broadcast_in_dim (const Def *, const Def *, const Def *)

<tt>tensor.concat</tt>

enum class  mim::plug::tensor::concat : flags_t
const Def * mim::plug::tensor::normalize_concat (const Def *, const Def *, const Def *)

<tt>tensor.flip</tt>

enum class  mim::plug::tensor::flip : flags_t
const Def * mim::plug::tensor::normalize_flip (const Def *, const Def *, const Def *)

<tt>tensor.pad</tt>

enum class  mim::plug::tensor::pad : flags_t
const Def * mim::plug::tensor::normalize_pad (const Def *, const Def *c, const Def *arg)

<tt>tensor.repeat</tt>

enum class  mim::plug::tensor::repeat : flags_t
const Def * mim::plug::tensor::normalize_repeat (const Def *type, const Def *c, const Def *arg)

<tt>tensor.reshape</tt>

enum class  mim::plug::tensor::reshape : flags_t
const Def * mim::plug::tensor::normalize_reshape (const Def *type, const Def *c, const Def *arg)

<tt>tensor.slice</tt>

enum class  mim::plug::tensor::slice : flags_t
const Def * mim::plug::tensor::normalize_slice (const Def *, const Def *c, const Def *arg)

<tt>tensor.transpose</tt>

enum class  mim::plug::tensor::transpose : flags_t
const Def * mim::plug::tensor::normalize_transpose (const Def *, const Def *c, const Def *arg)

<tt>tensor.fastest_axis</tt>

enum class  mim::plug::tensor::fastest_axis : flags_t
const Def * mim::plug::tensor::normalize_fastest_axis (const Def *, const Def *, const Def *arg)

<tt>tensor.if_static</tt>

enum class  mim::plug::tensor::if_static : flags_t
const Def * mim::plug::tensor::normalize_if_static (const Def *, const Def *, const Def *arg)

<tt>tensor.vec_width</tt>

enum class  mim::plug::tensor::vec_width : flags_t
const Def * mim::plug::tensor::normalize_vec_width (const Def *, const Def *, const Def *arg)

Macro Definition Documentation

◆ MIM_tensor_NORMALIZER_IMPL

#define MIM_tensor_NORMALIZER_IMPL
Value:
void register_normalizers(Normalizers& normalizers) {\
normalizers[flags_t(Annex::Base<shape>)] = &normalize_shape; \
normalizers[flags_t(Annex::Base<broadcast>)] = &normalize_broadcast; \
normalizers[flags_t(Annex::Base<broadcast_in_dim>)] = &normalize_broadcast_in_dim; \
normalizers[flags_t(Annex::Base<concat>)] = &normalize_concat; \
normalizers[flags_t(Annex::Base<flip>)] = &normalize_flip; \
normalizers[flags_t(Annex::Base<pad>)] = &normalize_pad; \
normalizers[flags_t(Annex::Base<repeat>)] = &normalize_repeat; \
normalizers[flags_t(Annex::Base<reshape>)] = &normalize_reshape; \
normalizers[flags_t(Annex::Base<slice>)] = &normalize_slice; \
normalizers[flags_t(Annex::Base<transpose>)] = &normalize_transpose; \
normalizers[flags_t(Annex::Base<fastest_axis>)] = &normalize_fastest_axis; \
normalizers[flags_t(Annex::Base<if_static>)] = &normalize_if_static; \
normalizers[flags_t(Annex::Base<vec_width>)] = &normalize_vec_width; \
}

Definition at line 462 of file autogen.h.