|
CACAO
|
Public Types | |
| enum | State { Unhandled, Active, Inactive, Handled } |
| typedef alloc::list < LivetimeRange >::type | IntervalListTy |
| typedef IntervalListTy::const_iterator | const_iterator |
| typedef IntervalListTy::iterator | iterator |
| typedef std::multiset< UseDef > | UseListTy |
| typedef std::multiset< UseDef > | DefListTy |
| typedef UseListTy::const_iterator | const_use_iterator |
| typedef DefListTy::const_iterator | const_def_iterator |
| typedef UseListTy::iterator | use_iterator |
| typedef DefListTy::iterator | def_iterator |
Public Member Functions | |
| LivetimeInterval (MachineOperand *) | |
| constructor More... | |
| LivetimeInterval (const LivetimeInterval &other) | |
| copy constructor More... | |
| LivetimeInterval & | operator= (const LivetimeInterval &other) |
| copy assignment operator More... | |
| void | add_range (UseDef first, UseDef last) |
| A range the range [first, last] to the interval. More... | |
| void | set_from (UseDef from, UseDef to) |
| Set from. If no interval available add range from to. More... | |
| State | get_State (MIIterator pos) const |
| State | get_State (UseDef pos) const |
| bool | is_use_at (MIIterator pos) const |
| Is use position. More... | |
| bool | is_def_at (MIIterator pos) const |
| Is def position. More... | |
| MachineOperand * | get_operand () const |
| Get the current store of the interval. More... | |
| MachineOperand * | get_operand (MIIterator pos) const |
| Get the store of the interval at position pos. More... | |
| void | set_operand (MachineOperand *op) |
| Set the current store of the interval. More... | |
| MachineOperand * | get_hint () const |
| Get the hint for the interval. More... | |
| void | set_hint (MachineOperand *op) |
| Set the hit for the interval. More... | |
| MachineOperand * | get_init_operand () const |
| Get the initial operand. More... | |
| LivetimeInterval | split_active (MIIterator pos, UseDef *current=NULL) |
| Split interval at active pos. More... | |
| LivetimeInterval | split_inactive (UseDef pos, MachineOperand *MO) |
| Split interval at inactive pos. More... | |
| LivetimeInterval | split_phi_active (MIIterator pos, MachineOperand *MO) |
| Split a phi input operand. More... | |
| UseDef | next_usedef_after (UseDef pos, UseDef end) const |
| get next use def after pos (if not found return end) More... | |
| LivetimeInterval | get_next () const |
| get next split interval More... | |
| bool | has_next () const |
| const_iterator | begin () const |
| const_iterator | end () const |
| std::size_t | size () const |
| bool | empty () const |
| LivetimeRange | front () const |
| LivetimeRange | back () const |
| const_use_iterator | use_begin () const |
| const_use_iterator | use_end () const |
| std::size_t | use_size () const |
| const_def_iterator | def_begin () const |
| const_def_iterator | def_end () const |
| std::size_t | def_size () const |
Private Attributes | |
| shared_ptr< LivetimeIntervalImpl > | pimpl |
Friends | |
| class | LivetimeIntervalImpl |
Additional Inherited Members | |
Static Public Member Functions inherited from cacao::jit::compiler2::memory::ManagerMixin< LivetimeInterval > | |
| 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... | |
Definition at line 106 of file LivetimeInterval.hpp.
| typedef DefListTy::const_iterator cacao::jit::compiler2::LivetimeInterval::const_def_iterator |
Definition at line 115 of file LivetimeInterval.hpp.
| typedef IntervalListTy::const_iterator cacao::jit::compiler2::LivetimeInterval::const_iterator |
Definition at line 109 of file LivetimeInterval.hpp.
| typedef UseListTy::const_iterator cacao::jit::compiler2::LivetimeInterval::const_use_iterator |
Definition at line 114 of file LivetimeInterval.hpp.
| typedef DefListTy::iterator cacao::jit::compiler2::LivetimeInterval::def_iterator |
Definition at line 117 of file LivetimeInterval.hpp.
| typedef std::multiset<UseDef> cacao::jit::compiler2::LivetimeInterval::DefListTy |
Definition at line 113 of file LivetimeInterval.hpp.
Definition at line 108 of file LivetimeInterval.hpp.
| typedef IntervalListTy::iterator cacao::jit::compiler2::LivetimeInterval::iterator |
Definition at line 110 of file LivetimeInterval.hpp.
| typedef UseListTy::iterator cacao::jit::compiler2::LivetimeInterval::use_iterator |
Definition at line 116 of file LivetimeInterval.hpp.
| typedef std::multiset<UseDef> cacao::jit::compiler2::LivetimeInterval::UseListTy |
Definition at line 112 of file LivetimeInterval.hpp.
|
inlineexplicit |
constructor
Definition at line 281 of file LivetimeInterval.hpp.
|
inline |
copy constructor
Definition at line 282 of file LivetimeInterval.hpp.
A range the range [first, last] to the interval.
Definition at line 287 of file LivetimeInterval.hpp.
|
inline |
Definition at line 321 of file LivetimeInterval.hpp.
|
inline |
Definition at line 306 of file LivetimeInterval.hpp.
|
inline |
Definition at line 372 of file LivetimeInterval.hpp.
|
inline |
Definition at line 375 of file LivetimeInterval.hpp.
|
inline |
Definition at line 378 of file LivetimeInterval.hpp.
|
inline |
Definition at line 315 of file LivetimeInterval.hpp.
|
inline |
Definition at line 309 of file LivetimeInterval.hpp.
|
inline |
Definition at line 318 of file LivetimeInterval.hpp.
|
inline |
Get the hint for the interval.
Definition at line 336 of file LivetimeInterval.hpp.
|
inline |
Get the initial operand.
This is needed to identify phi instructions as they do not have an MIIterator associated with them.
Definition at line 330 of file LivetimeInterval.hpp.
|
inline |
get next split interval
Definition at line 354 of file LivetimeInterval.hpp.
|
inline |
Get the current store of the interval.
Definition at line 324 of file LivetimeInterval.hpp.
|
inline |
Get the store of the interval at position pos.
Definition at line 327 of file LivetimeInterval.hpp.
|
inline |
Definition at line 293 of file LivetimeInterval.hpp.
|
inline |
Definition at line 296 of file LivetimeInterval.hpp.
|
inline |
Definition at line 357 of file LivetimeInterval.hpp.
|
inline |
Is def position.
Definition at line 302 of file LivetimeInterval.hpp.
|
inline |
Is use position.
Definition at line 299 of file LivetimeInterval.hpp.
|
inline |
get next use def after pos (if not found return end)
Definition at line 342 of file LivetimeInterval.hpp.
|
inline |
copy assignment operator
Definition at line 283 of file LivetimeInterval.hpp.
Set from. If no interval available add range from to.
Definition at line 290 of file LivetimeInterval.hpp.
|
inline |
Set the hit for the interval.
Definition at line 339 of file LivetimeInterval.hpp.
|
inline |
Set the current store of the interval.
Definition at line 333 of file LivetimeInterval.hpp.
|
inline |
Definition at line 312 of file LivetimeInterval.hpp.
|
inline |
Split interval at active pos.
| pos | Must be a move/copy instruction with one input and one output |
| current | move UseDef's after current. If NULL, move UseDef's after pos |
Definition at line 345 of file LivetimeInterval.hpp.
|
inline |
Split interval at inactive pos.
Definition at line 348 of file LivetimeInterval.hpp.
|
inline |
Split a phi input operand.
Definition at line 351 of file LivetimeInterval.hpp.
|
inline |
Definition at line 362 of file LivetimeInterval.hpp.
|
inline |
Definition at line 365 of file LivetimeInterval.hpp.
|
inline |
Definition at line 368 of file LivetimeInterval.hpp.
|
friend |
Definition at line 197 of file LivetimeInterval.hpp.
|
private |
Definition at line 196 of file LivetimeInterval.hpp.
1.8.5