Lines Matching refs:LifetimePosition
66 class LifetimePosition {
70 static LifetimePosition FromInstructionIndex(int index) { in FromInstructionIndex()
71 return LifetimePosition(index * kStep); in FromInstructionIndex()
94 LifetimePosition InstructionStart() const { in InstructionStart()
96 return LifetimePosition(value_ & ~(kStep - 1)); in InstructionStart()
101 LifetimePosition InstructionEnd() const { in InstructionEnd()
103 return LifetimePosition(InstructionStart().Value() + kStep/2); in InstructionEnd()
107 LifetimePosition NextInstruction() const { in NextInstruction()
109 return LifetimePosition(InstructionStart().Value() + kStep); in NextInstruction()
114 LifetimePosition PrevInstruction() const { in PrevInstruction()
117 return LifetimePosition(InstructionStart().Value() - kStep); in PrevInstruction()
122 LifetimePosition() : value_(-1) {} in LifetimePosition() function
128 static inline LifetimePosition Invalid() { return LifetimePosition(); } in Invalid()
130 static inline LifetimePosition MaxPosition() { in MaxPosition()
133 return LifetimePosition(kMaxInt); in MaxPosition()
142 explicit LifetimePosition(int value) : value_(value) { } in LifetimePosition() function
208 UseInterval(LifetimePosition start, LifetimePosition end) in UseInterval()
213 LifetimePosition start() const { return start_; } in start()
214 LifetimePosition end() const { return end_; } in end()
219 void SplitAt(LifetimePosition pos, Zone* zone);
223 LifetimePosition Intersect(const UseInterval* other) const { in Intersect()
226 return LifetimePosition::Invalid(); in Intersect()
229 bool Contains(LifetimePosition point) const { in Contains()
234 void set_start(LifetimePosition start) { start_ = start; } in set_start()
237 LifetimePosition start_;
238 LifetimePosition end_;
247 UsePosition(LifetimePosition pos, LOperand* operand);
258 LifetimePosition pos() const { return pos_; } in pos()
266 LifetimePosition pos_;
302 UsePosition* NextUsePosition(LifetimePosition start);
307 UsePosition* NextRegisterPosition(LifetimePosition start);
312 UsePosition* NextUsePositionRegisterIsBeneficial(LifetimePosition start);
315 bool CanBeSpilled(LifetimePosition pos);
321 void SplitAt(LifetimePosition position, LiveRange* result, Zone* zone);
336 LifetimePosition Start() const { in Start()
341 LifetimePosition End() const { in End()
355 bool CanCover(LifetimePosition position) const;
356 bool Covers(LifetimePosition position);
357 LifetimePosition FirstIntersection(LiveRange* other);
360 void EnsureInterval(LifetimePosition start,
361 LifetimePosition end,
363 void AddUseInterval(LifetimePosition start,
364 LifetimePosition end,
366 UsePosition* AddUsePosition(LifetimePosition pos,
371 void ShortenTo(LifetimePosition start);
381 UseInterval* FirstSearchIntervalForPosition(LifetimePosition position) const;
383 LifetimePosition but_not_past) const;
509 void Define(LifetimePosition position, LOperand* operand, LOperand* hint);
510 void Use(LifetimePosition block_start,
511 LifetimePosition position,
542 LiveRange* SplitRangeAt(LiveRange* range, LifetimePosition pos);
546 LifetimePosition start,
547 LifetimePosition end);
552 LifetimePosition FindOptimalSplitPos(LifetimePosition start,
553 LifetimePosition end);
556 void SpillAfter(LiveRange* range, LifetimePosition pos);
560 LifetimePosition start,
561 LifetimePosition end);
566 bool IsBlockBoundary(LifetimePosition pos);
575 LParallelMove* GetConnectingParallelMove(LifetimePosition pos);
578 HBasicBlock* GetBlock(LifetimePosition pos);