MimIR 0.1
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
mim::plug::compile Namespace Reference

The compile Plugin More...

Classes

class  DebugPrint
 
class  InternalCleanup
 

Enumerations

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

Functions

void handle_optimization_part (const Def *part, World &world, Passes &passes, PipelineBuilder &builder)
 
void register_normalizers (Normalizers &normalizers)
 

Variables

static constexpr plugin_t Plugin_Id = 0x11039128d1800000
 

%compile.pass_phase

enum  pass_phase : flags_t
 
Ref normalize_pass_phase (Ref type, Ref, Ref arg)
 

%compile.combine_pass_list

enum  combine_pass_list : flags_t
 
Ref 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  single_pass_phase : flags_t
 
Ref normalize_single_pass_phase (Ref type, Ref, Ref arg)
 single_pass_phase pass -> passes_to_phase 1 pass
 

%compile.combined_phase

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

Detailed Description

Enumeration Type Documentation

◆ affine_plugin

Definition at line 114 of file autogen.h.

◆ autodiff_plugin

Definition at line 125 of file autogen.h.

◆ beta_red_pass

Definition at line 305 of file autogen.h.

◆ clos_plugin

Definition at line 136 of file autogen.h.

◆ combine_pass_list

Definition at line 247 of file autogen.h.

◆ combined_phase

Definition at line 282 of file autogen.h.

◆ CombinedPhase

Definition at line 59 of file autogen.h.

◆ core_plugin

Definition at line 81 of file autogen.h.

◆ debug_phase

Definition at line 202 of file autogen.h.

◆ demo_plugin

Definition at line 103 of file autogen.h.

◆ direct_plugin

Definition at line 147 of file autogen.h.

◆ eta_exp_pass

Definition at line 327 of file autogen.h.

◆ eta_red_pass

Definition at line 316 of file autogen.h.

◆ internal_cleanup_pass

Definition at line 393 of file autogen.h.

◆ lam_spec_pass

Definition at line 360 of file autogen.h.

◆ matrix_plugin

Definition at line 180 of file autogen.h.

◆ mem_plugin

Definition at line 92 of file autogen.h.

◆ nullptr_pass

Definition at line 382 of file autogen.h.

◆ Pass

Definition at line 15 of file autogen.h.

◆ pass_list

Definition at line 213 of file autogen.h.

◆ pass_phase

Definition at line 224 of file autogen.h.

◆ passes_to_phase

Definition at line 236 of file autogen.h.

◆ PassList

Definition at line 48 of file autogen.h.

◆ Phase

Definition at line 26 of file autogen.h.

◆ phase_list

Definition at line 271 of file autogen.h.

◆ phases_to_phase

Definition at line 294 of file autogen.h.

◆ pipe

Definition at line 191 of file autogen.h.

◆ Pipeline

Definition at line 37 of file autogen.h.

◆ Plugin

Definition at line 70 of file autogen.h.

◆ plugin_select

Definition at line 404 of file autogen.h.

◆ refly_plugin

Definition at line 158 of file autogen.h.

◆ regex_plugin

Definition at line 169 of file autogen.h.

◆ ret_wrap_pass

Definition at line 371 of file autogen.h.

◆ scalerize_pass

Definition at line 338 of file autogen.h.

◆ single_pass_phase

Definition at line 259 of file autogen.h.

◆ tail_rec_elim_pass

Definition at line 349 of file autogen.h.

Function Documentation

◆ handle_optimization_part()

void mim::plug::compile::handle_optimization_part ( const Def * part,
World & world,
Passes & passes,
PipelineBuilder & builder )
inline

Definition at line 9 of file compile.h.

References mim::collect_args(), mim::Def::reduce(), and mim::Def::type().

Referenced by add_passes(), add_phases(), and mim_get_plugin().

◆ normalize_combine_pass_list()

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

Definition at line 45 of file normalizers.cpp.

References mim::Annex::Base, mim::collect_args(), mim::Def::projs(), and mim::Def::world().

Referenced by normalize_pass_phase().

◆ normalize_combined_phase()

Ref mim::plug::compile::normalize_combined_phase ( Ref type,
Ref ,
Ref arg )

combined_phase (phase_list phase1 ... phasen) -> phases_to_phase n (phase1, ..., phasen)

Definition at line 30 of file normalizers.cpp.

References mim::Annex::Base, mim::collect_args(), and mim::Def::world().

◆ normalize_pass_phase()

Ref mim::plug::compile::normalize_pass_phase ( Ref type,
Ref ,
Ref arg )

◆ normalize_single_pass_phase()

Ref mim::plug::compile::normalize_single_pass_phase ( Ref type,
Ref ,
Ref arg )

single_pass_phase pass -> passes_to_phase 1 pass

Definition at line 41 of file normalizers.cpp.

References mim::World::call(), and mim::Def::world().

◆ register_normalizers()

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

Referenced by mim_get_plugin().

Variable Documentation

◆ Plugin_Id

plugin_t mim::plug::compile::Plugin_Id = 0x11039128d1800000
staticconstexpr

Definition at line 10 of file autogen.h.