Thorin 1.9.0
The Higher ORder INtermediate representation
|
#include <thorin/analyses/schedule.h>
Public Member Functions | |
Construction | |
Scheduler ()=default | |
Scheduler (const Scope &) | |
Scheduler (const Scheduler &)=delete | |
Scheduler (Scheduler &&other) noexcept | |
Scheduler & | operator= (Scheduler other) noexcept |
Getters | |
const Scope & | scope () const |
const F_CFG & | cfg () const |
const CFNode * | cfg (Def *mut) const |
const DomTree & | domtree () const |
const Uses & | uses (const Def *def) const |
Compute Schedules | |
Def * | early (const Def *) |
Def * | late (const Def *) |
Def * | smart (const Def *) |
Schedule Mutabales | |
Order of Mutables within a Scope. | |
using | Schedule = std::vector< Def * > |
static Schedule | schedule (const Scope &) |
Definition at line 10 of file schedule.h.
using thorin::Scheduler::Schedule = std::vector<Def*> |
Definition at line 47 of file schedule.h.
|
default |
|
explicit |
Definition at line 14 of file schedule.cpp.
References thorin::assert_emplace(), thorin::Scope::bound(), cfg(), thorin::Def::is_set(), thorin::Def::isa_mut(), thorin::Def::num_ops(), thorin::Def::op(), thorin::CFG< forward >::reverse_post_order(), scope(), and thorin::Def::type().
|
delete |
|
inlinenoexcept |
Definition at line 17 of file schedule.h.
References swap.
|
inline |
Definition at line 27 of file schedule.h.
Referenced by early(), late(), Scheduler(), and smart().
|
inline |
Definition at line 29 of file schedule.h.
Definition at line 49 of file schedule.cpp.
References cfg(), thorin::Def::dep_const(), domtree(), early(), thorin::Scope::entry(), thorin::Def::extended_ops(), thorin::Def::isa_mut(), and scope().
Definition at line 65 of file schedule.cpp.
References cfg(), thorin::Def::dep_const(), domtree(), thorin::Scope::entry(), thorin::Def::isa_mut(), late(), thorin::DomTreeBase< forward >::least_common_ancestor(), thorin::CFNode::mut(), scope(), and uses().
Definition at line 21 of file schedule.h.
References swap.
|
static |
Definition at line 112 of file schedule.cpp.
References thorin::Scope::f_cfg(), thorin::CFG< forward >::reverse_post_order(), and scope().
Referenced by thorin::ll::Emitter::finalize(), and thorin::Emitter< Value, Type, BB, Child >::visit().
|
inline |
Definition at line 26 of file schedule.h.
Referenced by early(), late(), schedule(), and Scheduler().
Definition at line 84 of file schedule.cpp.
References cfg(), domtree(), early(), thorin::DomTreeBase< forward >::idom(), late(), thorin::CFG< forward >::looptree(), and thorin::Scope::world().
Definition at line 30 of file schedule.h.
Referenced by late().