25 #ifndef _JIT_COMPILER2_MACHINEINSTRUCTIONSCHEDULE
26 #define _JIT_COMPILER2_MACHINEINSTRUCTIONSCHEDULE
39 class MachineBasicBlock;
40 class MachineInstructionSchedule;
57 : parent(parent), it(it) {}
175 std::size_t
size()
const;
alloc::ordered_list< MachineBasicBlock * >::type list
iterator::pointer pointer
const pointer operator->() const
iterator::difference_type difference_type
MIIterator mi_end()
returns an const MIIterator to the end
bool operator<(const const_MBBIterator &rhs) const
const MachineInstructionSchedule * get_parent() const
reverse_iterator rbegin()
returns an reverse_iterator to the beginning
std::reverse_iterator< iterator > reverse_iterator
std::reverse_iterator< const_iterator > const_reverse_iterator
reverse_iterator rend()
returns an reverse_iterator to the end
iterator::iterator_category iterator_category
bool operator>(const MBBIterator &rhs) const
MBBIterator & operator--()
MachineInstructionSchedule * get_parent() const
MachineInstructionSchedule::iterator insert_before(iterator pos, const MBBBuilder &value)
inserts value before the element pointed to by pos
MBBIterator()
empty constructor
std::iterator< std::bidirectional_iterator_tag, const T >::reference reference
A basic block of (scheduled) machine instructions.
const_iterator::iterator_category iterator_category
bool operator==(const MBBIterator &rhs) const
const_iterator::pointer pointer
MBBIterator(MachineInstructionSchedule *parent, const iterator &it)
const_iterator::reference reference
bool empty() const
checks if the schedule has no elements.
reference back()
access the last element
bool operator>(const const_MBBIterator &rhs) const
iterator::value_type value_type
MBBIterator operator++(int)
const_iterator::difference_type difference_type
iterator end()
returns an iterator to the end
std::iterator< std::bidirectional_iterator_tag, T >::pointer pointer
const reference operator*() const
MachineInstructionSchedule()
construct an empty MachineInstructionSchedule
const_iterator::value_type value_type
const_MBBIterator(const MachineInstructionSchedule *parent, const const_iterator &it)
const_MBBIterator & operator++()
std::iterator< std::bidirectional_iterator_tag, const T >::pointer pointer
MBBIterator & operator++()
iterator begin()
returns an iterator to the beginning
bool operator==(const const_MBBIterator &rhs) const
alloc::ordered_list< MachineBasicBlock * >::type::const_iterator const_iterator
Instruction::InstID tmp[]
reference front()
access the first element
const_MBBIterator(const MBBIterator &other)
const_MBBIterator(const const_MBBIterator &other)
alloc::ordered_list< MachineBasicBlock * >::type::iterator iterator
const_MBBIterator const_iterator
std::size_t size() const
returns the number of elements
MachineInstructionSchedule::iterator insert_after(iterator pos, const MBBBuilder &value)
inserts value after the element pointed to by pos
const_MBBIterator operator++(int)
MBBIterator(const MBBIterator &other)
MBBIterator operator--(int)
bool operator<(const MBBIterator &rhs) const
const MachineInstructionSchedule * parent
iterator::reference reference
const_MBBIterator operator--(int)
const_MBBIterator & operator--()
bool operator!=(const const_MBBIterator &rhs) const
const reference operator*() const
MIIterator mi_begin()
returns an const MIIterator to the beginning
MachineInstructionSchedule::iterator push_front(const MBBBuilder &value)
inserts value to the beginning
const_MBBIterator()
empty constructor
iterator::reference reference
const pointer operator->() const
std::iterator< std::bidirectional_iterator_tag, T >::reference reference
MachineInstructionSchedule::iterator push_back(const MBBBuilder &value)
Appends the given element value to the end of the container.
MachineInstructionSchedule * parent
bool operator!=(const MBBIterator &rhs) const
An ordered_list is an indexed sequence container.