CACAO
Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes
cacao::jit::compiler2::ScheduleEarlyPass Class Reference

ScheduleEarlyPass. More...

Inheritance diagram for cacao::jit::compiler2::ScheduleEarlyPass:
cacao::jit::compiler2::Pass cacao::jit::compiler2::memory::ManagerMixin< ScheduleEarlyPass > cacao::jit::compiler2::GlobalSchedule

Public Member Functions

 ScheduleEarlyPass ()
 
virtual bool run (JITData &JD)
 Run the Pass. More...
 
virtual PassUsageget_PassUsage (PassUsage &PU) const
 Set the requirements for the pass. More...
 
- Public Member Functions inherited from cacao::jit::compiler2::Pass
 Pass ()
 
void set_PassManager (PassManager *PM)
 
template<class _PassClass >
_PassClass * get_Pass () const
 Get the result of a previous compiler pass. More...
 
template<class _PassClass >
_PassClass * get_Pass_if_available () const
 Get the result of a previous compiler pass. More...
 
virtual void initialize ()
 Initialize the Pass. More...
 
virtual void finalize ()
 Finalize the Pass. More...
 
virtual bool verify () const
 Verify the Result. More...
 
virtual ~Pass ()
 Destructor. More...
 
- Public Member Functions inherited from cacao::jit::compiler2::GlobalSchedule
 GlobalSchedule ()
 
void add_Instruction (Instruction *I, BeginInst *BI)
 
BeginInstoperator[] (const Instruction *I) const
 
BeginInstget (const Instruction *I) const
 
const_inst_iterator inst_begin (const BeginInst *BI) const
 
const_inst_iterator inst_end (const BeginInst *BI) const
 

Static Public Attributes

static char ID = 0
 

Private Member Functions

void schedule_early (Instruction *I)
 

Private Attributes

DominatorTreeDT
 
MethodM
 

Additional Inherited Members

- Public Types inherited from cacao::jit::compiler2::GlobalSchedule
typedef alloc::unordered_set
< Instruction * >
::type::const_iterator 
const_inst_iterator
 
- Static Public Member Functions inherited from cacao::jit::compiler2::memory::ManagerMixin< ScheduleEarlyPass >
static voidoperator new (std::size_t size) throw (std::bad_alloc)
 normal new More...
 
static voidoperator new (std::size_t size, void *ptr) throw ()
 placement new More...
 
static voidoperator new (std::size_t size, const std::nothrow_t &nt) throw ()
 nothrow new More...
 
static void operator delete (void *pMemory) throw ()
 normal delete More...
 
static void operator delete (void *pMemory, void *ptr) throw ()
 placement delete More...
 
static void operator delete (void *pMemory, const std::nothrow_t &) throw ()
 nothrow delete More...
 
static voidoperator new[] (std::size_t size) throw (std::bad_alloc)
 normal new[] More...
 
static voidoperator new[] (std::size_t size, void *ptr) throw ()
 placement new[] More...
 
static voidoperator new[] (std::size_t size, const std::nothrow_t &nt) throw ()
 nothrow new[] More...
 
static void operator delete[] (void *pMemory) throw ()
 normal delete[] More...
 
static void operator delete[] (void *pMemory, void *ptr) throw ()
 placement delete[] More...
 
static void operator delete[] (void *pMemory, const std::nothrow_t &) throw ()
 nothrow delete[] More...
 
- Protected Member Functions inherited from cacao::jit::compiler2::GlobalSchedule
void set_schedule (const Method *M)
 
- Protected Attributes inherited from cacao::jit::compiler2::GlobalSchedule
alloc::unordered_map< const
Instruction *, BeginInst * >
::type 
map
 
alloc::unordered_map< const
BeginInst
*, alloc::unordered_set
< Instruction * >::type >
::type 
bb_map
 

Detailed Description

ScheduleEarlyPass.

Based on the algorithm in Click's Phd Thesis, Chapter 6 [2].

Definition at line 47 of file ScheduleEarlyPass.hpp.

Constructor & Destructor Documentation

cacao::jit::compiler2::ScheduleEarlyPass::ScheduleEarlyPass ( )
inline

Definition at line 54 of file ScheduleEarlyPass.hpp.

Member Function Documentation

PassUsage & cacao::jit::compiler2::ScheduleEarlyPass::get_PassUsage ( PassUsage PU) const
virtual

Set the requirements for the pass.

Reimplemented from cacao::jit::compiler2::Pass.

Definition at line 97 of file ScheduleEarlyPass.cpp.

bool cacao::jit::compiler2::ScheduleEarlyPass::run ( JITData JD)
virtual

Run the Pass.

This method implements the compiler pass.

Returns
false if a problem occurred, true otherwise

Implements cacao::jit::compiler2::Pass.

Definition at line 84 of file ScheduleEarlyPass.cpp.

void cacao::jit::compiler2::ScheduleEarlyPass::schedule_early ( Instruction I)
private

Definition at line 41 of file ScheduleEarlyPass.cpp.

Field Documentation

DominatorTree* cacao::jit::compiler2::ScheduleEarlyPass::DT
private

Definition at line 49 of file ScheduleEarlyPass.hpp.

char cacao::jit::compiler2::ScheduleEarlyPass::ID = 0
static

Definition at line 53 of file ScheduleEarlyPass.hpp.

Method* cacao::jit::compiler2::ScheduleEarlyPass::M
private

Definition at line 50 of file ScheduleEarlyPass.hpp.


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