Thorin 1.9.0
The Higher ORder INtermediate representation
|
As opposed to a Pass, a Phase does one thing at a time and does not mix with other Phases. More...
#include <thorin/phase/phase.h>
Public Member Functions | |
Phase (World &world, std::string_view name, bool dirty) | |
virtual | ~Phase ()=default |
Getters | |
World & | world () |
std::string_view | name () const |
bool | is_dirty () const |
Protected Member Functions | |
virtual void | start ()=0 |
Actual entry. | |
Protected Attributes | |
World & | world_ |
std::string | name_ |
bool | dirty_ |
run | |
virtual void | run () |
Entry point and generates some debug output; invokes Phase::start. | |
template<class P , class... Args> | |
static void | run (Args &&... args) |
Runs a single Phase. | |
As opposed to a Pass, a Phase does one thing at a time and does not mix with other Phases.
They are supposed to classically run one after another. Phase::dirty indicates whether we may need a Cleanup afterwards.
|
inline |
|
virtualdefault |
|
inline |
|
inline |
Definition at line 27 of file phase.h.
References name_.
Referenced by thorin::ll::Emitter::emit_bb(), thorin::ll::Emitter::emit_epilogue(), thorin::ll::Emitter::prepare(), run(), and thorin::ScopePhase::start().
|
virtual |
Entry point and generates some debug output; invokes Phase::start.
Definition at line 7 of file phase.cpp.
References name(), start(), thorin::World::verify(), and world().
Referenced by thorin::ll::emit().
|
inlinestatic |
|
protectedpure virtual |
Actual entry.
Implemented in thorin::RWPhase, thorin::Cleanup, thorin::FPPhase, thorin::PassPhase< P >, thorin::PassManPhase, thorin::Pipeline, thorin::ScopePhase, thorin::ClosedMutPhase< M >, thorin::plug::clos::ClosConv, thorin::plug::clos::LowerTypedClos, and thorin::ll::Emitter.
Referenced by run(), and thorin::ll::Emitter::start().
|
inline |
Definition at line 26 of file phase.h.
References world_.
Referenced by thorin::Pipeline::add(), thorin::ll::Emitter::emit_epilogue(), run(), thorin::Cleanup::start(), thorin::ScopePhase::start(), thorin::ClosedMutPhase< M >::start(), thorin::plug::clos::ClosConv::start(), thorin::plug::clos::LowerTypedClos::start(), and thorin::RWPhase::world().
|
protected |
Definition at line 47 of file phase.h.
Referenced by thorin::plug::mem::AddMem::AddMem(), and is_dirty().
|
protected |
|
protected |