/external/v8/src/crankshaft/ |
lithium-allocator.h | 156 friend class LiveRange; // Assigns to start_. 185 friend class LiveRange; 190 class LiveRange: public ZoneObject { 194 LiveRange(int id, Zone* zone); 198 LiveRange* parent() const { return parent_; } 199 LiveRange* TopLevel() { return (parent_ == NULL) ? this : parent_; } 200 LiveRange* next() const { return next_; } 237 void SplitAt(LifetimePosition position, LiveRange* result, Zone* zone); 274 bool ShouldBeAllocatedBefore(const LiveRange* other) const; 277 LifetimePosition FirstIntersection(LiveRange* other) [all...] |
lithium-allocator.cc | 74 void LiveRange::Verify() const { 84 bool LiveRange::HasOverlap(UseInterval* target) const { 101 LiveRange::LiveRange(int id, Zone* zone) 118 void LiveRange::set_assigned_register(int reg, Zone* zone) { 125 void LiveRange::MakeSpilled(Zone* zone) { 134 bool LiveRange::HasAllocatedSpillOperand() const { 140 void LiveRange::SetSpillOperand(LOperand* operand) { 148 UsePosition* LiveRange::NextUsePosition(LifetimePosition start) { 159 UsePosition* LiveRange::NextUsePositionRegisterIsBeneficial [all...] |
lithium-allocator-inl.h | 48 void LAllocator::SetLiveRangeAssignedRegister(LiveRange* range, int reg) {
|
/external/llvm/lib/CodeGen/ |
LiveRangeCalc.h | 80 LiveRange &LR; 94 LiveInBlock(LiveRange &LR, MachineDomTreeNode *node, SlotIndex kill) 114 bool findReachingDefs(LiveRange &LR, MachineBasicBlock &UseMBB, 132 void extendToUses(LiveRange &LR, unsigned Reg, LaneBitmask LaneMask); 172 void extend(LiveRange &LR, SlotIndex Use, unsigned PhysReg = 0); 177 void createDeadDefs(LiveRange &LR, unsigned Reg); 183 void extendToUses(LiveRange &LR, unsigned PhysReg) { 225 void addLiveInBlock(LiveRange &LR,
|
LiveInterval.cpp | 10 // This file implements the LiveRange and LiveInterval classes. Given some 16 // individual segment is represented as an instance of LiveRange::Segment, 17 // and the whole range is represented as an instance of LiveRange. 52 LiveRange *LR; 55 CalcLiveRangeUtilBase(LiveRange *LR) : LR(LR) {} 58 typedef LiveRange::Segment Segment; 234 typedef CalcLiveRangeUtilBase<CalcLiveRangeUtilVector, LiveRange::iterator, 235 LiveRange::Segments> CalcLiveRangeUtilVectorBase; 239 CalcLiveRangeUtilVector(LiveRange *LR) : CalcLiveRangeUtilVectorBase(LR) {} 244 LiveRange::Segments &segmentsColl() { return LR->segments; [all...] |
LiveIntervalUnion.cpp | 29 void LiveIntervalUnion::unify(LiveInterval &VirtReg, const LiveRange &Range) { 35 LiveRange::const_iterator RegPos = Range.begin(); 36 LiveRange::const_iterator RegEnd = Range.end(); 56 void LiveIntervalUnion::extract(LiveInterval &VirtReg, const LiveRange &Range) { 62 LiveRange::const_iterator RegPos = Range.begin(); 63 LiveRange::const_iterator RegEnd = Range.end();
|
LiveIntervalAnalysis.cpp | 159 if (LiveRange *LR = RegUnitRanges[i]) 269 void LiveIntervals::computeRegUnitRange(LiveRange &LR, unsigned Unit) { 329 LiveRange *LR = RegUnitRanges[Unit]; 332 LR = RegUnitRanges[Unit] = new LiveRange(UseSegmentSetForPhysRegs); 352 static void createSegmentsForValues(LiveRange &LR, 358 LR.addSegment(LiveRange::Segment(Def, Def.getDeadSlot(), VNI)); 364 static void extendSegmentsToUses(LiveRange &LR, const SlotIndexes &Indexes, 366 const LiveRange &OldRange) { 402 LR.addSegment(LiveRange::Segment(BlockStart, Idx, VNI)); 463 LiveRange NewLR [all...] |
LiveRegMatrix.cpp | 104 const LiveRange &Range) { 121 const LiveRange &Range) { 164 const LiveRange &Range) { 165 const LiveRange &UnitRange = LIS->getRegUnit(Unit);
|
LiveRangeCalc.cpp | 44 LiveRange &LR, const MachineOperand &MO) { 105 // Create the def in the main liverange. We do not have to do this if 131 void LiveRangeCalc::createDeadDefs(LiveRange &LR, unsigned Reg) { 141 void LiveRangeCalc::extendToUses(LiveRange &LR, unsigned Reg, 223 void LiveRangeCalc::extend(LiveRange &LR, SlotIndex Use, unsigned PhysReg) { 258 bool LiveRangeCalc::findReachingDefs(LiveRange &LR, MachineBasicBlock &UseMBB, 438 LiveRange &LR = I.LR;
|
MachineVerifier.cpp | 216 void report_context(const LiveRange &LR, unsigned Reg, 218 void report_context(const LiveRange::Segment &S) const; 232 void verifyLiveRangeValue(const LiveRange&, const VNInfo*, unsigned, 234 void verifyLiveRangeSegment(const LiveRange&, 235 const LiveRange::const_iterator I, unsigned, 237 void verifyLiveRange(const LiveRange&, unsigned, LaneBitmask LaneMask = 0); 442 void MachineVerifier::report_context(const LiveRange &LR, unsigned Reg, 447 errs() << "- liverange: " << LR << '\n'; 450 void MachineVerifier::report_context(const LiveRange::Segment &S) const { [all...] |
RegisterCoalescer.cpp | 161 /// Add the LiveRange @p ToMerge as a subregister liverange of @p LI. 166 void mergeSubRangeInto(LiveInterval &LI, const LiveRange &ToMerge, 171 void joinSubRegRanges(LiveRange &LRange, LiveRange &RRange, 537 // Okay, we can merge them. We need to insert a new liverange: 584 for (LiveRange::Segment &ASeg : IntA.segments) { 602 /// Copy segements with value number @p SrcValNo from liverange @p Src to live 604 static void addSegmentsWithValNo(LiveRange &Dst, VNInfo *DstValNo, 605 const LiveRange &Src, const VNInfo *SrcValNo [all...] |
InterferenceCache.h | 75 LiveRange *Fixed;
|
RegisterPressure.cpp | 174 static const LiveRange *getLiveRange(const LiveIntervals &LIS, unsigned Reg) { 406 const LiveRange *LR = getLiveRange(LIS, Reg); 569 const LiveRange *LR = getLiveRange(*LIS, Reg); 621 const LiveRange *LR = getLiveRange(*LIS, Reg); 932 const LiveRange *LR = getLiveRange(*LIS, Reg); [all...] |
/external/v8/test/unittests/compiler/ |
live-range-unittest.cc | 28 LiveRange* Split(LiveRange* range, int pos) { 46 bool RangesMatch(LiveRange* first, LiveRange* second) { 111 LiveRange* child = Split(range, 1); 116 LiveRange* expected_top = TestRangeBuilder(zone()).Build(0, 1); 117 LiveRange* expected_bottom = TestRangeBuilder(zone()).Build(1, 2); 126 LiveRange* child = Split(range, 3); 131 LiveRange* expected_top = TestRangeBuilder(zone()).Build(0, 2); 132 LiveRange* expected_bottom = TestRangeBuilder(zone()).Build(4, 6) [all...] |
/external/llvm/include/llvm/CodeGen/ |
LiveInterval.h | 10 // This file implements the LiveRange and LiveInterval classes. Given some 16 // individual segment is represented as an instance of LiveRange::Segment, 17 // and the whole range is represented as an instance of LiveRange. 84 /// Result of a LiveRange query. This class hides the implementation details 154 class LiveRange { 221 /// Constructs a new LiveRange object. 222 LiveRange(bool UseSegmentSet = false) 226 /// Constructs a new LiveRange object by copying segments and valnos from 227 /// another LiveRange. 228 LiveRange(const LiveRange &Other, BumpPtrAllocator &Allocator) [all...] |
LiveIntervalAnalysis.h | 98 SmallVector<LiveRange*, 0> RegUnitRanges; 175 void extendToIndices(LiveRange &LR, ArrayRef<SlotIndex> Indices); 185 void pruneValue(LiveRange &LR, SlotIndex Kill, 222 bool isLiveInToMBB(const LiveRange &LR, 227 bool isLiveOutOfMBB(const LiveRange &LR, 375 LiveRange &getRegUnit(unsigned Unit) { 376 LiveRange *LR = RegUnitRanges[Unit]; 380 RegUnitRanges[Unit] = LR = new LiveRange(UseSegmentSetForPhysRegs); 388 LiveRange *getCachedRegUnit(unsigned Unit) { 392 const LiveRange *getCachedRegUnit(unsigned Unit) const [all...] |
LiveIntervalUnion.h | 87 void unify(LiveInterval &VirtReg, const LiveRange &Range); 93 void extract(LiveInterval &VirtReg, const LiveRange &Range);
|
/external/v8/src/compiler/ |
register-allocator.h | 307 class LiveRange : public ZoneObject { 316 LiveRange* next() const { return next_; } 371 UsePosition* DetachAt(LifetimePosition position, LiveRange* result, 376 LiveRange* SplitAt(LifetimePosition position, Zone* zone); 400 bool ShouldBeAllocatedBefore(const LiveRange* other) const; 403 LifetimePosition FirstIntersection(LiveRange* other) const; 420 explicit LiveRange(int relative_id, MachineRepresentation rep, 445 LiveRange* next_; 455 DISALLOW_COPY_AND_ASSIGN(LiveRange); 462 ZoneVector<LiveRange*>& ranges() { return ranges_; [all...] |
register-allocator.cc | 22 void RemoveElement(ZoneVector<LiveRange*>* v, LiveRange* range) { 124 explicit LiveRangeBound(LiveRange* range, bool skip) 133 LiveRange* const range_; 144 LiveRange* cur_cover_; 145 LiveRange* pred_cover_; 163 for (LiveRange *i = range; i != nullptr; i = i->next(), ++curr) { 418 LiveRange::LiveRange(int relative_id, MachineRepresentation rep, 437 void LiveRange::VerifyPositions() const [all...] |
live-range-separator.cc | 129 LiveRange *child = top;
|
graph-visualizer.cc | 258 void PrintLiveRange(const LiveRange* range, const char* type, int vreg); 548 for (const LiveRange* child = range; child != nullptr; 554 void GraphC1Visualizer::PrintLiveRange(const LiveRange* range, const char* type,
|
/art/compiler/optimizing/ |
ssa_liveness_analysis.h | 58 class LiveRange FINAL : public ArenaObject<kArenaAllocSsaLiveness> { 60 LiveRange(size_t start, size_t end, LiveRange* next) : start_(start), end_(end), next_(next) { 67 LiveRange* GetNext() const { return next_; } 69 bool IntersectsWith(const LiveRange& other) const { 74 bool IsBefore(const LiveRange& other) const { 82 LiveRange* Dup(ArenaAllocator* allocator) const { 83 return new (allocator) LiveRange( 87 LiveRange* GetLastRange() { 94 LiveRange* next_ [all...] |
live_ranges_test.cc | 72 LiveRange* range = interval->GetFirstRange(); 120 LiveRange* range = interval->GetFirstRange(); 172 LiveRange* range = interval->GetFirstRange(); 251 LiveRange* range = interval->GetFirstRange(); 331 LiveRange* range = interval->GetFirstRange(); 408 LiveRange* range = interval->GetFirstRange();
|
live_interval_test.cc | 169 LiveRange* current = interval->GetFirstRange(); 290 LiveRange* range = interval->GetFirstRange(); 301 LiveRange* range = interval->GetFirstRange(); 312 LiveRange* range = interval->GetFirstRange(); 323 LiveRange* range = interval->GetFirstRange();
|
/external/llvm/lib/Target/AMDGPU/ |
SILoadStoreOptimizer.cpp | 276 LiveRange &M0Range = LIS->getRegUnit(*MCRegUnitIterator(AMDGPU::M0, TRI)); 277 LiveRange::Segment *M0Segment = M0Range.getSegmentContaining(PairedIndex); 344 LiveRange &M0Range = LIS->getRegUnit(*MCRegUnitIterator(AMDGPU::M0, TRI)); 345 LiveRange::Segment *M0Segment = M0Range.getSegmentContaining(PairedIndex);
|