Home | History | Annotate | Download | only in src

Lines Matching refs:LiveRange

104 void LiveRange::Verify() const {
114 bool LiveRange::HasOverlap(UseInterval* target) const {
131 LiveRange::LiveRange(int id, Zone* zone)
148 void LiveRange::set_assigned_register(int reg, Zone* zone) {
155 void LiveRange::MakeSpilled(Zone* zone) {
164 bool LiveRange::HasAllocatedSpillOperand() const {
170 void LiveRange::SetSpillOperand(LOperand* operand) {
178 UsePosition* LiveRange::NextUsePosition(LifetimePosition start) {
189 UsePosition* LiveRange::NextUsePositionRegisterIsBeneficial(
199 UsePosition* LiveRange::PreviousUsePositionRegisterIsBeneficial(
211 UsePosition* LiveRange::NextRegisterPosition(LifetimePosition start) {
220 bool LiveRange::CanBeSpilled(LifetimePosition pos) {
230 LOperand* LiveRange::CreateAssignedOperand(Zone* zone) {
257 UseInterval* LiveRange::FirstSearchIntervalForPosition(
268 void LiveRange::AdvanceLastProcessedMarker(
281 void LiveRange::SplitAt(LifetimePosition position,
282 LiveRange* result,
373 bool LiveRange::ShouldBeAllocatedBefore(const LiveRange* other) const {
387 void LiveRange::ShortenTo(LifetimePosition start) {
396 void LiveRange::EnsureInterval(LifetimePosition start,
421 void LiveRange::AddUseInterval(LifetimePosition start,
451 void LiveRange::AddUsePosition(LifetimePosition pos,
482 void LiveRange::ConvertOperands(Zone* zone) {
499 bool LiveRange::CanCover(LifetimePosition position) const {
506 bool LiveRange::Covers(LifetimePosition position) {
522 LiveRange::FirstIntersection(LiveRange* other) {
614 LiveRange* range = LiveRangeFor(operand_index);
653 LiveRange* LAllocator::FixedLiveRangeFor(int index) {
655 LiveRange* result = fixed_live_ranges_[index];
657 result = new(zone()) LiveRange(FixedLiveRangeID(index), chunk()->zone());
667 LiveRange* LAllocator::FixedDoubleLiveRangeFor(int index) {
669 LiveRange* result = fixed_double_live_ranges_[index];
671 result = new(zone()) LiveRange(FixedDoubleLiveRangeID(index),
682 LiveRange* LAllocator::LiveRangeFor(int index) {
686 LiveRange* result = live_ranges_[index];
688 result = new(zone()) LiveRange(index, chunk()->zone());
713 LiveRange* LAllocator::LiveRangeFor(LOperand* operand) {
729 LiveRange* range = LiveRangeFor(operand);
751 LiveRange* range = LiveRangeFor(operand);
818 LiveRange* range = LiveRangeFor(first_output->virtual_register());
979 LiveRange* range = FixedLiveRangeFor(i);
991 LiveRange* range = FixedDoubleLiveRangeFor(i);
1084 LiveRange* live_range = LiveRangeFor(phi->id());
1141 void LAllocator::ResolveControlFlow(LiveRange* range,
1148 LiveRange* pred_cover = NULL;
1149 LiveRange* cur_cover = NULL;
1150 LiveRange* cur_range = range;
1224 LiveRange* first_range = live_ranges()->at(i);
1227 LiveRange* second_range = first_range->next();
1276 LiveRange* cur_range = LiveRangeFor(operand_index);
1348 LiveRange* range = LiveRangeFor(operand_index);
1375 LiveRange* range = LiveRangeFor(operand_index);
1415 LiveRange* range = live_ranges()->at(range_idx);
1427 for (LiveRange* cur = range; cur != NULL; cur = cur->next()) {
1464 LiveRange* cur = range;
1527 LiveRange* current = fixed_double_live_ranges_.at(i);
1535 LiveRange* current = fixed_live_ranges_.at(i);
1544 LiveRange* current = unhandled_live_ranges_.RemoveLast();
1578 LiveRange* cur_active = active_live_ranges_.at(i);
1589 LiveRange* cur_inactive = inactive_live_ranges_.at(i);
1659 void LAllocator::AddToActive(LiveRange* range) {
1665 void LAllocator::AddToInactive(LiveRange* range) {
1671 void LAllocator::AddToUnhandledSorted(LiveRange* range) {
1676 LiveRange* cur_range = unhandled_live_ranges_.at(i);
1690 void LAllocator::AddToUnhandledUnsorted(LiveRange* range) {
1698 static int UnhandledSortHelper(LiveRange* const* a, LiveRange* const* b) {
1719 LiveRange* a = unhandled_live_ranges_.at(i - 1);
1720 LiveRange* b = unhandled_live_ranges_.at(i);
1727 void LAllocator::FreeSpillSlot(LiveRange* range) {
1740 LOperand* LAllocator::TryReuseSpillSlot(LiveRange* range) {
1752 void LAllocator::ActiveToHandled(LiveRange* range) {
1760 void LAllocator::ActiveToInactive(LiveRange* range) {
1768 void LAllocator::InactiveToHandled(LiveRange* range) {
1776 void LAllocator::InactiveToActive(LiveRange* range) {
1790 bool LAllocator::TryAllocateFreeReg(LiveRange* current) {
1798 LiveRange* cur_active = active_live_ranges_.at(i);
1804 LiveRange* cur_inactive = inactive_live_ranges_.at(i);
1851 LiveRange* tail = SplitRangeAt(current, pos);
1869 void LAllocator::AllocateBlockedReg(LiveRange* current) {
1887 LiveRange* range = active_live_ranges_[i];
1904 LiveRange* range = inactive_live_ranges_.at(i);
1936 LiveRange* tail = SplitBetween(current,
1957 LifetimePosition LAllocator::FindOptimalSpillingPos(LiveRange* range,
1990 void LAllocator::SplitAndSpillIntersecting(LiveRange* current) {
1995 LiveRange* range = active_live_ranges_[i];
2019 LiveRange* range = inactive_live_ranges_[i];
2046 LiveRange* LAllocator::SplitRangeAt(LiveRange* range, LifetimePosition pos) {
2059 LiveRange* result = LiveRangeFor(vreg);
2065 LiveRange* LAllocator::SplitBetween(LiveRange* range,
2114 void LAllocator::SpillAfter(LiveRange* range, LifetimePosition pos) {
2115 LiveRange* second_part = SplitRangeAt(range, pos);
2121 void LAllocator::SpillBetween(LiveRange* range,
2128 void LAllocator::SpillBetweenUntil(LiveRange* range,
2133 LiveRange* second_part = SplitRangeAt(range, start);
2140 LiveRange* third_part = SplitBetween(
2158 void LAllocator::Spill(LiveRange* range) {
2161 LiveRange* first = range->TopLevel();
2182 LiveRange* current = live_ranges()->at(i);