|
CACAO
|
Public Member Functions | |
| void | schedule_late (Instruction *I) |
| ScheduleLatePass () | |
| virtual bool | run (JITData &JD) |
| Run the Pass. More... | |
| virtual PassUsage & | get_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) |
| BeginInst * | operator[] (const Instruction *I) const |
| BeginInst * | get (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 Attributes | |
| DominatorTree * | DT |
| LoopTree * | LT |
| GlobalSchedule * | early |
| Method * | M |
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< ScheduleLatePass > | |
| static void * | operator new (std::size_t size) throw (std::bad_alloc) |
| normal new More... | |
| static void * | operator new (std::size_t size, void *ptr) throw () |
| placement new More... | |
| static void * | operator 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 void * | operator new[] (std::size_t size) throw (std::bad_alloc) |
| normal new[] More... | |
| static void * | operator new[] (std::size_t size, void *ptr) throw () |
| placement new[] More... | |
| static void * | operator 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 |
Based on the algorithm in Click's Phd Thesis, Chapter 6 [2].
Definition at line 48 of file ScheduleLatePass.hpp.
|
inline |
Definition at line 57 of file ScheduleLatePass.hpp.
Set the requirements for the pass.
Reimplemented from cacao::jit::compiler2::Pass.
Definition at line 159 of file ScheduleLatePass.cpp.
|
virtual |
Run the Pass.
This method implements the compiler pass.
Implements cacao::jit::compiler2::Pass.
Definition at line 138 of file ScheduleLatePass.cpp.
| void cacao::jit::compiler2::ScheduleLatePass::schedule_late | ( | Instruction * | I | ) |
We want to schedule a block as late as possible, but outside of loop bodies (except for constants) In most cases constants can be encoded in the instructions.
Definition at line 83 of file ScheduleLatePass.cpp.
|
private |
Definition at line 50 of file ScheduleLatePass.hpp.
|
private |
Definition at line 52 of file ScheduleLatePass.hpp.
|
static |
Definition at line 56 of file ScheduleLatePass.hpp.
|
private |
Definition at line 51 of file ScheduleLatePass.hpp.
|
private |
Definition at line 53 of file ScheduleLatePass.hpp.
1.8.5