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

BasicBlockSchedulingPass TODO: more info. More...

Inheritance diagram for cacao::jit::compiler2::BasicBlockSchedulingPass:
cacao::jit::compiler2::Pass cacao::jit::compiler2::memory::ManagerMixin< BasicBlockSchedulingPass > cacao::jit::compiler2::BasicBlockSchedule

Public Member Functions

 BasicBlockSchedulingPass ()
 
virtual bool run (JITData &JD)
 Run the Pass. More...
 
virtual PassUsageget_PassUsage (PassUsage &PA) const
 Set the requirements for the pass. More...
 
virtual void initialize ()
 Initialize the Pass. More...
 
virtual bool verify () const
 Verify the Result. 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 finalize ()
 Finalize the Pass. More...
 
virtual ~Pass ()
 Destructor. More...
 
- Public Member Functions inherited from cacao::jit::compiler2::BasicBlockSchedule
 BasicBlockSchedule ()
 
const_bb_iterator bb_begin () const
 
const_bb_iterator bb_end () const
 
const_reverse_bb_iterator bb_rbegin () const
 
const_reverse_bb_iterator bb_rend () const
 
std::size_t size () const
 

Static Public Attributes

static char ID = 0
 

Private Attributes

MethodM
 

Additional Inherited Members

- Public Types inherited from cacao::jit::compiler2::BasicBlockSchedule
typedef alloc::vector
< BeginInst * >::type 
BasicBlockListTy
 
typedef BasicBlockListTy::iterator bb_iterator
 
typedef
BasicBlockListTy::const_iterator 
const_bb_iterator
 
typedef
BasicBlockListTy::const_reverse_iterator 
const_reverse_bb_iterator
 
- Static Public Member Functions inherited from cacao::jit::compiler2::memory::ManagerMixin< BasicBlockSchedulingPass >
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::BasicBlockSchedule
void clear ()
 
template<class InputIterator >
void insert (bb_iterator pos, InputIterator first, InputIterator last)
 
bb_iterator begin ()
 
bb_iterator end ()
 

Detailed Description

BasicBlockSchedulingPass TODO: more info.

Definition at line 44 of file BasicBlockSchedulingPass.hpp.

Constructor & Destructor Documentation

cacao::jit::compiler2::BasicBlockSchedulingPass::BasicBlockSchedulingPass ( )
inline

Definition at line 49 of file BasicBlockSchedulingPass.hpp.

Member Function Documentation

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

Set the requirements for the pass.

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

Definition at line 270 of file BasicBlockSchedulingPass.cpp.

virtual void cacao::jit::compiler2::BasicBlockSchedulingPass::initialize ( )
inlinevirtual

Initialize the Pass.

This method is called by the PassManager before the pass is started. It should be used to initialize e.g. data structures. A Pass object might be reused so the construtor can not be used in some cases.

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

Definition at line 52 of file BasicBlockSchedulingPass.hpp.

bool cacao::jit::compiler2::BasicBlockSchedulingPass::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 133 of file BasicBlockSchedulingPass.cpp.

bool cacao::jit::compiler2::BasicBlockSchedulingPass::verify ( ) const
virtual

Verify the Result.

This method is used to verify the result of the pass. It has the same motivation than the assert() statement. It should be only used for debugging purposes and might not be called in release builds.

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

Definition at line 186 of file BasicBlockSchedulingPass.cpp.

Field Documentation

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

Definition at line 48 of file BasicBlockSchedulingPass.hpp.

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

Definition at line 46 of file BasicBlockSchedulingPass.hpp.


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