Thorin 1.9.0
The Higher ORder INtermediate representation
Loading...
Searching...
No Matches
thorin::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

◆ 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 thorin::plug::compile::handle_optimization_part ( const Def part,
World world,
Passes passes,
PipelineBuilder builder 
)
inline

◆ normalize_combine_pass_list()

Ref thorin::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 thorin::Annex::Base, thorin::collect_args(), thorin::Def::projs(), and thorin::Def::world().

Referenced by normalize_pass_phase().

◆ normalize_combined_phase()

Ref thorin::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 thorin::Annex::Base, thorin::collect_args(), and thorin::Def::world().

◆ normalize_pass_phase()

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

◆ normalize_single_pass_phase()

Ref thorin::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 thorin::World::call(), and thorin::Def::world().

◆ register_normalizers()

void thorin::plug::compile::register_normalizers ( Normalizers normalizers)

Referenced by thorin_get_plugin().

Variable Documentation

◆ Plugin_Id

constexpr plugin_t thorin::plug::compile::Plugin_Id = 0x11039128d1800000
staticconstexpr

Definition at line 10 of file autogen.h.