CACAO
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends
cacao::jit::compiler2::PassRunner Class Reference

Each instance of PassRunner represents a single run of the compiler2. More...

Public Types

using PassMapTy = std::unordered_map< PassInfo::IDTy, PassUPtrTy >
 
using ResultReadyMapTy = alloc::unordered_map< PassInfo::IDTy, bool >::type
 

Public Member Functions

void runPasses (JITData &JD)
 run passes More...
 

Private Member Functions

PassUPtrTyget_Pass (PassInfo::IDTy ID)
 
template<class _PassClass >
_PassClass * get_Pass_result ()
 

Private Attributes

PassMapTy passes
 Stores pass instances so other passes can retrieve their results. More...
 
ResultReadyMapTy result_ready
 Map of ready results. More...
 

Friends

class Pass
 

Detailed Description

Each instance of PassRunner represents a single run of the compiler2.

The PassRunner owns all the pass instances for its corresponding run.

Definition at line 151 of file PassManager.hpp.

Member Typedef Documentation

Definition at line 153 of file PassManager.hpp.

Definition at line 154 of file PassManager.hpp.

Member Function Documentation

PassUPtrTy & cacao::jit::compiler2::PassRunner::get_Pass ( PassInfo::IDTy  ID)
private

Definition at line 80 of file PassManager.cpp.

template<class _PassClass >
_PassClass* cacao::jit::compiler2::PassRunner::get_Pass_result ( )
inlineprivate

Definition at line 170 of file PassManager.hpp.

void cacao::jit::compiler2::PassRunner::runPasses ( JITData JD)

run passes

Definition at line 91 of file PassManager.cpp.

Friends And Related Function Documentation

friend class Pass
friend

Definition at line 184 of file PassManager.hpp.

Field Documentation

PassMapTy cacao::jit::compiler2::PassRunner::passes
private

Stores pass instances so other passes can retrieve their results.

This map owns all contained passes.

Definition at line 160 of file PassManager.hpp.

ResultReadyMapTy cacao::jit::compiler2::PassRunner::result_ready
private

Map of ready results.

Definition at line 165 of file PassManager.hpp.


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