Home
last modified time | relevance | path

Searched refs:LiveRange (Results 1 – 25 of 28) sorted by relevance

12

/external/v8/src/
Dlithium-allocator.h156 friend class LiveRange; // Assigns to start_. variable
185 friend class LiveRange; variable
190 class LiveRange: public ZoneObject {
194 LiveRange(int id, Zone* zone);
198 LiveRange* parent() const { return parent_; } in parent()
199 LiveRange* TopLevel() { return (parent_ == NULL) ? this : parent_; } in TopLevel()
200 LiveRange* next() const { return next_; } in next()
237 void SplitAt(LifetimePosition position, LiveRange* result, Zone* zone);
274 bool ShouldBeAllocatedBefore(const LiveRange* other) const;
277 LifetimePosition FirstIntersection(LiveRange* other);
[all …]
Dlithium-allocator.cc71 void LiveRange::Verify() const { in Verify()
81 bool LiveRange::HasOverlap(UseInterval* target) const { in HasOverlap()
98 LiveRange::LiveRange(int id, Zone* zone) in LiveRange() function in v8::internal::LiveRange
115 void LiveRange::set_assigned_register(int reg, Zone* zone) { in set_assigned_register()
122 void LiveRange::MakeSpilled(Zone* zone) { in MakeSpilled()
131 bool LiveRange::HasAllocatedSpillOperand() const { in HasAllocatedSpillOperand()
137 void LiveRange::SetSpillOperand(LOperand* operand) { in SetSpillOperand()
145 UsePosition* LiveRange::NextUsePosition(LifetimePosition start) { in NextUsePosition()
156 UsePosition* LiveRange::NextUsePositionRegisterIsBeneficial( in NextUsePositionRegisterIsBeneficial()
166 UsePosition* LiveRange::PreviousUsePositionRegisterIsBeneficial( in PreviousUsePositionRegisterIsBeneficial()
[all …]
Dlithium-allocator-inl.h44 void LAllocator::SetLiveRangeAssignedRegister(LiveRange* range, int reg) { in SetLiveRangeAssignedRegister()
/external/v8/src/compiler/
Dregister-allocator.h181 class LiveRange : public ZoneObject {
185 LiveRange(int id, Zone* zone);
189 LiveRange* parent() const { return parent_; } in parent()
190 LiveRange* TopLevel() { return (parent_ == NULL) ? this : parent_; } in TopLevel()
191 LiveRange* next() const { return next_; } in next()
234 void SplitAt(LifetimePosition position, LiveRange* result, Zone* zone);
271 bool ShouldBeAllocatedBefore(const LiveRange* other) const;
274 LifetimePosition FirstIntersection(LiveRange* other);
306 LiveRange* parent_;
307 LiveRange* next_;
[all …]
Dregister-allocator.cc65 void LiveRange::Verify() const { in Verify()
75 bool LiveRange::HasOverlap(UseInterval* target) const { in HasOverlap()
92 LiveRange::LiveRange(int id, Zone* zone) in LiveRange() function in v8::internal::compiler::LiveRange
111 void LiveRange::set_assigned_register(int reg, Zone* zone) { in set_assigned_register()
118 void LiveRange::MakeSpilled(Zone* zone) { in MakeSpilled()
127 bool LiveRange::HasAllocatedSpillOperand() const { in HasAllocatedSpillOperand()
133 void LiveRange::SetSpillOperand(InstructionOperand* operand) { in SetSpillOperand()
141 UsePosition* LiveRange::NextUsePosition(LifetimePosition start) { in NextUsePosition()
152 UsePosition* LiveRange::NextUsePositionRegisterIsBeneficial( in NextUsePositionRegisterIsBeneficial()
162 UsePosition* LiveRange::PreviousUsePositionRegisterIsBeneficial( in PreviousUsePositionRegisterIsBeneficial()
[all …]
/external/llvm/include/llvm/CodeGen/
DLiveInterval.h153 class LiveRange {
221 LiveRange(bool UseSegmentSet = false)
227 LiveRange(const LiveRange &Other, BumpPtrAllocator &Allocator) { in LiveRange() function
272 return const_cast<LiveRange*>(this)->find(Pos); in find()
343 void MergeSegmentsInAsValue(const LiveRange &RHS, VNInfo *LHSValNo);
350 void MergeValueInAsValue(const LiveRange &RHS,
419 bool overlaps(const LiveRange &other) const { in overlaps()
430 bool overlaps(const LiveRange &Other, const CoalescerPair &CP,
440 bool overlapsFrom(const LiveRange &Other, const_iterator I) const;
446 bool covers(const LiveRange &Other) const;
[all …]
DLiveIntervalAnalysis.h98 SmallVector<LiveRange*, 0> RegUnitRanges;
174 void extendToIndices(LiveRange &LR, ArrayRef<SlotIndex> Indices);
184 void pruneValue(LiveRange &LR, SlotIndex Kill,
221 bool isLiveInToMBB(const LiveRange &LR, in isLiveInToMBB()
226 bool isLiveOutOfMBB(const LiveRange &LR, in isLiveOutOfMBB()
379 LiveRange &getRegUnit(unsigned Unit) { in getRegUnit()
380 LiveRange *LR = RegUnitRanges[Unit]; in getRegUnit()
384 RegUnitRanges[Unit] = LR = new LiveRange(UseSegmentSetForPhysRegs); in getRegUnit()
392 LiveRange *getCachedRegUnit(unsigned Unit) { in getCachedRegUnit()
396 const LiveRange *getCachedRegUnit(unsigned Unit) const { in getCachedRegUnit()
[all …]
DLiveIntervalUnion.h87 void unify(LiveInterval &VirtReg, const LiveRange &Range);
93 void extract(LiveInterval &VirtReg, const LiveRange &Range);
DRegisterPressure.h25 class LiveRange; variable
413 const LiveRange *getLiveRange(unsigned Reg) const;
/external/llvm/lib/CodeGen/
DLiveInterval.cpp53 LiveRange *LR;
56 CalcLiveRangeUtilBase(LiveRange *LR) : LR(LR) {} in CalcLiveRangeUtilBase()
59 typedef LiveRange::Segment Segment;
235 typedef CalcLiveRangeUtilBase<CalcLiveRangeUtilVector, LiveRange::iterator,
236 LiveRange::Segments> CalcLiveRangeUtilVectorBase;
240 CalcLiveRangeUtilVector(LiveRange *LR) : CalcLiveRangeUtilVectorBase(LR) {} in CalcLiveRangeUtilVector()
245 LiveRange::Segments &segmentsColl() { return LR->segments; } in segmentsColl()
263 LiveRange::SegmentSet::iterator,
264 LiveRange::SegmentSet> CalcLiveRangeUtilSetBase;
268 CalcLiveRangeUtilSet(LiveRange *LR) : CalcLiveRangeUtilSetBase(LR) {} in CalcLiveRangeUtilSet()
[all …]
DLiveRangeCalc.h80 LiveRange &LR;
94 LiveInBlock(LiveRange &LR, MachineDomTreeNode *node, SlotIndex kill) in LiveInBlock()
114 bool findReachingDefs(LiveRange &LR, MachineBasicBlock &UseMBB,
132 void extendToUses(LiveRange &LR, unsigned Reg, unsigned 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) { in extendToUses()
225 void addLiveInBlock(LiveRange &LR,
DLiveIntervalAnalysis.cpp160 if (LiveRange *LR = RegUnitRanges[i]) in print()
251 void LiveIntervals::computeRegUnitRange(LiveRange &LR, unsigned Unit) { in computeRegUnitRange()
312 LiveRange *LR = RegUnitRanges[Unit]; in computeLiveInRegUnits()
315 LR = RegUnitRanges[Unit] = new LiveRange(UseSegmentSetForPhysRegs); in computeLiveInRegUnits()
335 static void createSegmentsForValues(LiveRange &LR, in createSegmentsForValues()
341 LR.addSegment(LiveRange::Segment(Def, Def.getDeadSlot(), VNI)); in createSegmentsForValues()
347 static void extendSegmentsToUses(LiveRange &LR, const SlotIndexes &Indexes, in extendSegmentsToUses()
349 const LiveRange &OldRange) { in extendSegmentsToUses()
385 LR.addSegment(LiveRange::Segment(BlockStart, Idx, VNI)); in extendSegmentsToUses()
444 LiveRange NewLR; in shrinkToUses()
[all …]
DLiveIntervalUnion.cpp29 void LiveIntervalUnion::unify(LiveInterval &VirtReg, const LiveRange &Range) { in unify()
35 LiveRange::const_iterator RegPos = Range.begin(); in unify()
36 LiveRange::const_iterator RegEnd = Range.end(); in unify()
56 void LiveIntervalUnion::extract(LiveInterval &VirtReg, const LiveRange &Range) { in extract()
62 LiveRange::const_iterator RegPos = Range.begin(); in extract()
63 LiveRange::const_iterator RegEnd = Range.end(); in extract()
DLiveRegMatrix.cpp107 const LiveRange &Range) { in assign()
124 const LiveRange &Range) { in unassign()
159 const LiveRange &Range) { in checkRegUnitInterference()
160 const LiveRange &UnitRange = LIS->getRegUnit(Unit); in checkRegUnitInterference()
DLiveRangeCalc.cpp44 LiveRange &LR, const MachineOperand &MO) { in createDeadDef()
131 void LiveRangeCalc::createDeadDefs(LiveRange &LR, unsigned Reg) { in createDeadDefs()
141 void LiveRangeCalc::extendToUses(LiveRange &LR, unsigned Reg, unsigned Mask) { in extendToUses()
222 void LiveRangeCalc::extend(LiveRange &LR, SlotIndex Use, unsigned PhysReg) { in extend()
257 bool LiveRangeCalc::findReachingDefs(LiveRange &LR, MachineBasicBlock &UseMBB, in findReachingDefs()
431 LiveRange &LR = I.LR; in updateSSA()
DMachineVerifier.cpp216 const LiveRange &LR, unsigned Reg, unsigned LaneMask);
218 const LiveRange &LR, unsigned Reg, unsigned LaneMask);
231 void verifyLiveRangeValue(const LiveRange&, const VNInfo*, unsigned,
233 void verifyLiveRangeSegment(const LiveRange&,
234 const LiveRange::const_iterator I, unsigned,
236 void verifyLiveRange(const LiveRange&, unsigned, unsigned LaneMask = 0);
417 const LiveRange &LR, unsigned Reg, in report()
427 const LiveRange &LR, unsigned Reg, in report()
1008 if (const LiveRange *LR = LiveInts->getCachedRegUnit(*Units)) { in checkLiveness()
1374 if (const LiveRange *LR = LiveInts->getCachedRegUnit(i)) in verifyLiveIntervals()
[all …]
DRegisterCoalescer.cpp168 bool mergeSubRangeInto(LiveInterval &LI, const LiveRange &ToMerge,
174 bool joinSubRegRanges(LiveRange &LRange, LiveRange &RRange,
574 for (LiveRange::Segment &ASeg : IntA.segments) { in hasOtherReachingDefs()
594 static void addSegmentsWithValNo(LiveRange &Dst, VNInfo *DstValNo, in addSegmentsWithValNo()
595 const LiveRange &Src, const VNInfo *SrcValNo) in addSegmentsWithValNo()
597 for (const LiveRange::Segment &S : Src.segments) { in addSegmentsWithValNo()
600 Dst.addSegment(LiveRange::Segment(S.start, S.end, DstValNo)); in addSegmentsWithValNo()
810 LiveRange RangeCopy(SB, Allocator); in removeCopyByCommutingDef()
820 LiveRange *NewRange = IntB.createSubRange(Allocator, AMask); in removeCopyByCommutingDef()
994 if (LiveRange *LR = LIS->getCachedRegUnit(*Units)) in reMaterializeTrivialDef()
[all …]
DRegisterPressure.cpp150 const LiveRange *RegPressureTracker::getLiveRange(unsigned Reg) const { in getLiveRange()
505 const LiveRange *LR = getLiveRange(Reg); in recede()
531 const LiveRange *LR = getLiveRange(Reg); in recede()
590 const LiveRange *LR = getLiveRange(Reg); in advance()
725 const LiveRange *LR = getLiveRange(Reg); in bumpUpwardPressure()
925 const LiveRange *LR = getLiveRange(Reg); in bumpDownwardPressure()
DInterferenceCache.h75 LiveRange *Fixed;
DSplitKit.cpp819 for (const LiveRange::Segment &S : Edit->getParent()) { in transferValues()
843 LiveRange &LR = LIS.getInterval(Edit->get(RegIdx)); in transferValues()
929 LiveRange &LR = LIS.getInterval(Edit->get(RegIdx)); in extendPHIKillRanges()
999 for (const LiveRange::Segment &S : LI->segments) { in deleteRematVictims()
DLiveDebugVariables.cpp235 LiveRange *LR, const VNInfo *VNI,
540 LiveRange *LR, const VNInfo *VNI, in extendDef()
712 LiveRange *LR = &LIS.getRegUnit(Unit); in computeIntervals()
DInterferenceCache.cpp225 LiveRange *LR = RegUnits[i].Fixed; in update()
/external/llvm/lib/Target/R600/
DSIFixSGPRLiveRanges.cpp113 std::vector<std::pair<unsigned, LiveRange *>> SGPRLiveRanges; in runOnMachineFunction()
160 for (std::pair<unsigned, LiveRange*> RegLR : SGPRLiveRanges) { in runOnMachineFunction()
162 LiveRange *LR = RegLR.second; in runOnMachineFunction()
/external/llvm/test/CodeGen/Generic/
DbadCallArgLRLLVM.ll6 ; so no LiveRange has been created for its return value.
/external/llvm/lib/Target/Hexagon/
DHexagonExpandCondsets.cpp493 LiveRange::Segment NR = LiveRange::Segment(MX, EX, VN); in addInstrToLiveness()
1166 LiveRange::Segment &LR = *I; in isIntraBlocks()
1225 L1.addSegment(LiveRange::Segment(I->start, I->end, NewVN)); in coalesceRegisters()

12