CACAO
|
Manage the execution of compiler passes. More...
Public Types | |
typedef alloc::unordered_set < PassInfo::IDTy >::type | PassListTy |
typedef alloc::vector < PassInfo::IDTy >::type | ScheduleListTy |
typedef alloc::unordered_map < PassInfo::IDTy, Pass * > ::type | PassMapTy |
typedef alloc::unordered_map < PassInfo::IDTy, bool >::type | ResultReadyMapTy |
typedef alloc::unordered_map < PassInfo::IDTy, PassInfo * > ::type | PassInfoMapTy |
Public Member Functions | |
const char * | get_Pass_name (PassInfo::IDTy ID) |
PassManager () | |
~PassManager () | |
void | initializePasses () |
run pass initializers More... | |
void | runPasses (JITData &JD) |
run passes More... | |
void | finalizePasses () |
run pass finalizers More... | |
template<class _PassClass > | |
void | add_Pass () |
add a compiler pass More... | |
PassMapTy::const_iterator | initialized_begin () const |
PassMapTy::const_iterator | initialized_end () const |
PassInfoMapTy::const_iterator | registered_begin () const |
PassInfoMapTy::const_iterator | registered_end () const |
Static Public Member Functions | |
static void | register_Pass (PassInfo *PI) |
DO NOT CALL THIS MANUALLY. More... | |
Private Member Functions | |
Pass * | get_initialized_Pass (PassInfo::IDTy ID) |
template<class _PassClass > | |
_PassClass * | get_Pass_result () |
void | schedulePasses () |
Static Private Member Functions | |
static PassInfoMapTy & | registered_passes () |
Private Attributes | |
PassMapTy | initialized_passes |
This stores the initialized passes. More... | |
ScheduleListTy | schedule |
This variable contains a schedule of the passes. More... | |
PassListTy | passes |
The list of passed that should be performed. More... | |
ResultReadyMapTy | result_ready |
Map of ready results. More... | |
Friends | |
class | Pass |
Manage the execution of compiler passes.
handle modified (timestamp?)
conditionally reevaluate
Definition at line 75 of file PassManager.hpp.
typedef alloc::unordered_map<PassInfo::IDTy, PassInfo*>::type cacao::jit::compiler2::PassManager::PassInfoMapTy |
Definition at line 81 of file PassManager.hpp.
Definition at line 77 of file PassManager.hpp.
typedef alloc::unordered_map<PassInfo::IDTy,Pass*>::type cacao::jit::compiler2::PassManager::PassMapTy |
Definition at line 79 of file PassManager.hpp.
typedef alloc::unordered_map<PassInfo::IDTy,bool>::type cacao::jit::compiler2::PassManager::ResultReadyMapTy |
Definition at line 80 of file PassManager.hpp.
Definition at line 78 of file PassManager.hpp.
|
inline |
Definition at line 122 of file PassManager.hpp.
cacao::jit::compiler2::PassManager::~PassManager | ( | ) |
Definition at line 80 of file PassManager.cpp.
|
inline |
add a compiler pass
Definition at line 155 of file PassManager.hpp.
void cacao::jit::compiler2::PassManager::finalizePasses | ( | ) |
run pass finalizers
Definition at line 140 of file PassManager.cpp.
|
private |
Definition at line 62 of file PassManager.cpp.
|
inline |
Definition at line 117 of file PassManager.hpp.
|
inlineprivate |
Definition at line 110 of file PassManager.hpp.
|
inline |
Definition at line 162 of file PassManager.hpp.
|
inline |
Definition at line 163 of file PassManager.hpp.
void cacao::jit::compiler2::PassManager::initializePasses | ( | ) |
run pass initializers
Definition at line 88 of file PassManager.cpp.
DO NOT CALL THIS MANUALLY.
ONLY INVOKE VIA RegisterPass.
Definition at line 131 of file PassManager.hpp.
|
inline |
Definition at line 164 of file PassManager.hpp.
|
inline |
Definition at line 165 of file PassManager.hpp.
|
inlinestaticprivate |
Definition at line 102 of file PassManager.hpp.
run passes
Definition at line 91 of file PassManager.cpp.
|
private |
Definition at line 331 of file PassManager.cpp.
|
friend |
Definition at line 167 of file PassManager.hpp.
|
private |
This stores the initialized passes.
Every Pass can only occur once.
Definition at line 87 of file PassManager.hpp.
|
private |
The list of passed that should be performed.
Definition at line 96 of file PassManager.hpp.
|
private |
Map of ready results.
Definition at line 100 of file PassManager.hpp.
|
private |
This variable contains a schedule of the passes.
A pass may occur more than once.
Definition at line 92 of file PassManager.hpp.