MimIR 0.1
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
mim::Scheduler Class Reference

#include <mim/schedule.h>

Public Member Functions

Construction
 Scheduler ()=default
 
 Scheduler (const Nest &)
 
 Scheduler (const Scheduler &)=delete
 
 Scheduler (Scheduler &&other) noexcept
 
Scheduleroperator= (Scheduler other) noexcept
 
Getters
Worldworld ()
 
const Nestnest () const
 
Defroot () const
 
const Usesuses (const Def *def) const
 
Compute Schedules
const Nest::Nodeearly (const Def *)
 
const Nest::Nodelate (Def *curr, const Def *)
 
const Nest::Nodesmart (Def *curr, const Def *)
 

Friends

void swap (Scheduler &s1, Scheduler &s2) noexcept
 

Schedule Mutabales

Order of Mutables within a Scope.

using Schedule = Vector<Def*>
 
static Schedule schedule (const Nest &)
 

Detailed Description

Definition at line 44 of file schedule.h.

Member Typedef Documentation

◆ Schedule

Definition at line 79 of file schedule.h.

Constructor & Destructor Documentation

◆ Scheduler() [1/4]

mim::Scheduler::Scheduler ( )
default

◆ Scheduler() [2/4]

mim::Scheduler::Scheduler ( const Nest & nest)
explicit

◆ Scheduler() [3/4]

mim::Scheduler::Scheduler ( const Scheduler & )
delete

◆ Scheduler() [4/4]

mim::Scheduler::Scheduler ( Scheduler && other)
inlinenoexcept

Definition at line 51 of file schedule.h.

References swap.

Member Function Documentation

◆ early()

const Nest::Node * mim::Scheduler::early ( const Def * def)

Definition at line 42 of file schedule.cpp.

References mim::Def::deps(), mim::Def::has_const_dep(), and mim::Def::isa_mut().

◆ late()

const Nest::Node * mim::Scheduler::late ( Def * curr,
const Def * def )

Definition at line 58 of file schedule.cpp.

References mim::Def::has_const_dep(), and mim::Def::isa_mut().

◆ nest()

const Nest & mim::Scheduler::nest ( ) const
inline

Definition at line 61 of file schedule.h.

Referenced by Scheduler(), and world().

◆ operator=()

Scheduler & mim::Scheduler::operator= ( Scheduler other)
inlinenoexcept

Definition at line 55 of file schedule.h.

References swap.

◆ root()

Def * mim::Scheduler::root ( ) const
inline

Definition at line 62 of file schedule.h.

References mim::Nest::Node::mut(), and mim::Nest::root().

◆ schedule()

Scheduler::Schedule mim::Scheduler::schedule ( const Nest & nest)
static

◆ smart()

const Nest::Node * mim::Scheduler::smart ( Def * curr,
const Def * def )

Definition at line 79 of file schedule.cpp.

◆ uses()

const Uses & mim::Scheduler::uses ( const Def * def) const
inline

Definition at line 63 of file schedule.h.

◆ world()

World & mim::Scheduler::world ( )
inline

Definition at line 60 of file schedule.h.

References nest(), and mim::Nest::world().

Friends And Related Symbol Documentation

◆ swap

void swap ( Scheduler & s1,
Scheduler & s2 )
friend

Definition at line 83 of file schedule.h.

Referenced by operator=(), and Scheduler().


The documentation for this class was generated from the following files: