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

Macros

#define MIM_compile_NORMALIZER_IMPL
 

Enumerations

%compile.Pass
enum class  mim::plug::compile::Pass : flags_t
 
%compile.Phase
enum class  mim::plug::compile::Phase : flags_t
 
%compile.Pipeline
enum class  mim::plug::compile::Pipeline : flags_t
 
%compile.PassList
enum class  mim::plug::compile::PassList : flags_t
 
%compile.CombinedPhase
enum class  mim::plug::compile::CombinedPhase : flags_t
 
%compile.Plugin
enum class  mim::plug::compile::Plugin : flags_t
 
%compile.core_plugin
enum class  mim::plug::compile::core_plugin : flags_t
 
%compile.mem_plugin
enum class  mim::plug::compile::mem_plugin : flags_t
 
%compile.demo_plugin
enum class  mim::plug::compile::demo_plugin : flags_t
 
%compile.affine_plugin
enum class  mim::plug::compile::affine_plugin : flags_t
 
%compile.autodiff_plugin
enum class  mim::plug::compile::autodiff_plugin : flags_t
 
%compile.clos_plugin
enum class  mim::plug::compile::clos_plugin : flags_t
 
%compile.direct_plugin
enum class  mim::plug::compile::direct_plugin : flags_t
 
%compile.refly_plugin
enum class  mim::plug::compile::refly_plugin : flags_t
 
%compile.regex_plugin
enum class  mim::plug::compile::regex_plugin : flags_t
 
%compile.matrix_plugin
enum class  mim::plug::compile::matrix_plugin : flags_t
 
%compile.pipe
enum class  mim::plug::compile::pipe : flags_t
 
%compile.debug_phase
enum class  mim::plug::compile::debug_phase : flags_t
 
%compile.pass_list
enum class  mim::plug::compile::pass_list : flags_t
 
%compile.passes_to_phase
enum class  mim::plug::compile::passes_to_phase : flags_t
 
%compile.phase_list
enum class  mim::plug::compile::phase_list : flags_t
 
%compile.phases_to_phase
enum class  mim::plug::compile::phases_to_phase : flags_t
 
%compile.beta_red_pass
enum class  mim::plug::compile::beta_red_pass : flags_t
 
%compile.eta_red_pass
enum class  mim::plug::compile::eta_red_pass : flags_t
 
%compile.eta_exp_pass
enum class  mim::plug::compile::eta_exp_pass : flags_t
 
%compile.scalarize_pass
enum class  mim::plug::compile::scalarize_pass : flags_t
 
%compile.tail_rec_elim_pass
enum class  mim::plug::compile::tail_rec_elim_pass : flags_t
 
%compile.lam_spec_pass
enum class  mim::plug::compile::lam_spec_pass : flags_t
 
%compile.ret_wrap_pass
enum class  mim::plug::compile::ret_wrap_pass : flags_t
 
%compile.nullptr_pass
enum class  mim::plug::compile::nullptr_pass : flags_t
 
%compile.internal_cleanup_pass
enum class  mim::plug::compile::internal_cleanup_pass : flags_t
 
%compile.plugin_select
enum class  mim::plug::compile::plugin_select : flags_t
 

Functions

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

Variables

static constexpr plugin_t mim::plug::compile::Plugin_Id = 0x11039128d1800000
 

%compile.pass_phase

enum class  mim::plug::compile::pass_phase : flags_t
 
Ref mim::plug::compile::normalize_pass_phase (Ref type, Ref, Ref arg)
 

%compile.combine_pass_list

enum class  mim::plug::compile::combine_pass_list : flags_t
 
Ref mim::plug::compile::normalize_combine_pass_list (Ref type, Ref, Ref arg)
 combine_pass_list K (pass_list pass11 ... pass1N) ... (pass_list passK1 ... passKM) = pass_list pass11 ... p1N ... / passK1 ... passKM
 

%compile.single_pass_phase

enum class  mim::plug::compile::single_pass_phase : flags_t
 
Ref mim::plug::compile::normalize_single_pass_phase (Ref type, Ref, Ref arg)
 single_pass_phase pass -> passes_to_phase 1 pass
 

%compile.combined_phase

enum class  mim::plug::compile::combined_phase : flags_t
 
Ref mim::plug::compile::normalize_combined_phase (Ref type, Ref, Ref arg)
 combined_phase (phase_list phase1 ... phasen) -> phases_to_phase n (phase1, ..., phasen)
 

Macro Definition Documentation

◆ MIM_compile_NORMALIZER_IMPL

#define MIM_compile_NORMALIZER_IMPL
Value:
void register_normalizers(Normalizers& normalizers) {\
normalizers[flags_t(Annex::Base<pass_phase>)] = &normalize_pass_phase; \
normalizers[flags_t(Annex::Base<combine_pass_list>)] = &normalize_combine_pass_list; \
normalizers[flags_t(Annex::Base<single_pass_phase>)] = &normalize_single_pass_phase; \
normalizers[flags_t(Annex::Base<combined_phase>)] = &normalize_combined_phase; \
}

Definition at line 270 of file autogen.h.