Home
last modified time | relevance | path

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

1234

/external/llvm/include/llvm/CodeGen/
DLiveInterval.h154 class LiveRange {
222 LiveRange(bool UseSegmentSet = false)
228 LiveRange(const LiveRange &Other, BumpPtrAllocator &Allocator) { in LiveRange() function
273 return const_cast<LiveRange*>(this)->find(Pos); in find()
344 void MergeSegmentsInAsValue(const LiveRange &RHS, VNInfo *LHSValNo);
351 void MergeValueInAsValue(const LiveRange &RHS,
420 bool overlaps(const LiveRange &other) const { in overlaps()
431 bool overlaps(const LiveRange &Other, const CoalescerPair &CP,
441 bool overlapsFrom(const LiveRange &Other, const_iterator I) const;
447 bool covers(const LiveRange &Other) const;
[all …]
DLiveIntervalAnalysis.h97 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()
374 LiveRange &getRegUnit(unsigned Unit) { in getRegUnit()
375 LiveRange *LR = RegUnitRanges[Unit]; in getRegUnit()
379 RegUnitRanges[Unit] = LR = new LiveRange(UseSegmentSetForPhysRegs); in getRegUnit()
387 LiveRange *getCachedRegUnit(unsigned Unit) { in getCachedRegUnit()
391 const LiveRange *getCachedRegUnit(unsigned Unit) const { in getCachedRegUnit()
[all …]
/external/swiftshader/third_party/llvm-7.0/llvm/include/llvm/CodeGen/
DLiveInterval.h157 class LiveRange {
227 LiveRange(bool UseSegmentSet = false)
233 LiveRange(const LiveRange &Other, BumpPtrAllocator &Allocator) { in LiveRange() function
240 void assign(const LiveRange &Other, BumpPtrAllocator &Allocator) { in assign()
285 return const_cast<LiveRange*>(this)->find(Pos); in find()
360 void MergeSegmentsInAsValue(const LiveRange &RHS, VNInfo *LHSValNo);
367 void MergeValueInAsValue(const LiveRange &RHS,
436 bool overlaps(const LiveRange &other) const { in overlaps()
447 bool overlaps(const LiveRange &Other, const CoalescerPair &CP,
457 bool overlapsFrom(const LiveRange &Other, const_iterator StartPos) const;
[all …]
DLiveIntervals.h97 SmallVector<LiveRange*, 0> RegUnitRanges;
184 void extendToIndices(LiveRange &LR, ArrayRef<SlotIndex> Indices,
187 void extendToIndices(LiveRange &LR, ArrayRef<SlotIndex> Indices) { in extendToIndices()
198 void pruneValue(LiveRange &LR, SlotIndex Kill,
245 bool isLiveInToMBB(const LiveRange &LR, in isLiveInToMBB()
250 bool isLiveOutOfMBB(const LiveRange &LR, in isLiveOutOfMBB()
393 LiveRange &getRegUnit(unsigned Unit) { in getRegUnit()
394 LiveRange *LR = RegUnitRanges[Unit]; in getRegUnit()
398 RegUnitRanges[Unit] = LR = new LiveRange(UseSegmentSetForPhysRegs); in getRegUnit()
406 LiveRange *getCachedRegUnit(unsigned Unit) { in getCachedRegUnit()
[all …]
DLiveIntervalUnion.h91 void unify(LiveInterval &VirtReg, const LiveRange &Range);
94 void extract(LiveInterval &VirtReg, const LiveRange &Range);
111 const LiveRange *LR = nullptr;
112 LiveRange::const_iterator LRI; ///< current position in LR
120 void reset(unsigned NewUserTag, const LiveRange &NewLR, in reset()
133 Query(const LiveRange &LR, const LiveIntervalUnion &LIU): in Query()
138 void init(unsigned NewUserTag, const LiveRange &NewLR, in init()
/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 …]
DLiveIntervalAnalysis.cpp151 if (LiveRange *LR = RegUnitRanges[i]) in print()
258 void LiveIntervals::computeRegUnitRange(LiveRange &LR, unsigned Unit) { in computeRegUnitRange()
318 LiveRange *LR = RegUnitRanges[Unit]; in computeLiveInRegUnits()
321 LR = RegUnitRanges[Unit] = new LiveRange(UseSegmentSetForPhysRegs); in computeLiveInRegUnits()
341 static void createSegmentsForValues(LiveRange &LR, in createSegmentsForValues()
347 LR.addSegment(LiveRange::Segment(Def, Def.getDeadSlot(), VNI)); in createSegmentsForValues()
353 static void extendSegmentsToUses(LiveRange &LR, const SlotIndexes &Indexes, in extendSegmentsToUses()
355 const LiveRange &OldRange) { in extendSegmentsToUses()
391 LR.addSegment(LiveRange::Segment(BlockStart, Idx, VNI)); in extendSegmentsToUses()
452 LiveRange NewLR; in shrinkToUses()
[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, 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) { in extendToUses()
230 void addLiveInBlock(LiveRange &LR,
DSafeStackColoring.h49 struct LiveRange { struct
53 bool Overlaps(const LiveRange &Other) const { in Overlaps() argument
56 void Join(const LiveRange &Other) { bv |= Other.bv; } in Join() argument
78 SmallVector<LiveRange, 8> LiveRanges;
112 const LiveRange &getLiveRange(AllocaInst *AI);
116 LiveRange getFullLiveRange() { in getFullLiveRange()
118 LiveRange R; in getFullLiveRange()
142 const StackColoring::LiveRange &R) {
DSafeStackLayout.h25 StackColoring::LiveRange Range;
27 const StackColoring::LiveRange &Range) in StackRegion()
36 StackColoring::LiveRange Range;
49 const StackColoring::LiveRange &Range);
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.cpp104 const LiveRange &Range) { in assign()
121 const LiveRange &Range) { in unassign()
164 const LiveRange &Range) { in checkRegUnitInterference()
165 const LiveRange &UnitRange = LIS->getRegUnit(Unit); in checkRegUnitInterference()
/external/swiftshader/third_party/llvm-7.0/llvm/lib/CodeGen/
DLiveInterval.cpp68 LiveRange *LR;
71 CalcLiveRangeUtilBase(LiveRange *LR) : LR(LR) {} in CalcLiveRangeUtilBase()
74 using Segment = LiveRange::Segment;
284 CalcLiveRangeUtilBase<CalcLiveRangeUtilVector, LiveRange::iterator,
285 LiveRange::Segments>;
289 CalcLiveRangeUtilVector(LiveRange *LR) : CalcLiveRangeUtilVectorBase(LR) {} in CalcLiveRangeUtilVector()
294 LiveRange::Segments &segmentsColl() { return LR->segments; } in segmentsColl()
312 CalcLiveRangeUtilBase<CalcLiveRangeUtilSet, LiveRange::SegmentSet::iterator,
313 LiveRange::SegmentSet>;
317 CalcLiveRangeUtilSet(LiveRange *LR) : CalcLiveRangeUtilSetBase(LR) {} in CalcLiveRangeUtilSet()
[all …]
DLiveIntervals.cpp118 for (LiveRange *LR : RegUnitRanges) in releaseMemory()
160 if (LiveRange *LR = RegUnitRanges[Unit]) in print()
264 void LiveIntervals::computeRegUnitRange(LiveRange &LR, unsigned Unit) { in computeRegUnitRange()
331 LiveRange *LR = RegUnitRanges[Unit]; in computeLiveInRegUnits()
334 LR = RegUnitRanges[Unit] = new LiveRange(UseSegmentSetForPhysRegs); in computeLiveInRegUnits()
351 static void createSegmentsForValues(LiveRange &LR, in createSegmentsForValues()
357 LR.addSegment(LiveRange::Segment(Def, Def.getDeadSlot(), VNI)); in createSegmentsForValues()
361 void LiveIntervals::extendSegmentsToUses(LiveRange &Segments, in extendSegmentsToUses()
370 -> const LiveRange& { in extendSegmentsToUses()
383 const LiveRange &OldRange = getSubRange(LI, LaneMask); in extendSegmentsToUses()
[all …]
DLiveRangeCalc.h76 using EntryInfoMap = DenseMap<LiveRange *, std::pair<BitVector, BitVector>>;
103 LiveRange &LR;
117 LiveInBlock(LiveRange &LR, MachineDomTreeNode *node, SlotIndex kill) in LiveInBlock()
129 bool isDefOnEntry(LiveRange &LR, ArrayRef<SlotIndex> Undefs,
149 bool findReachingDefs(LiveRange &LR, MachineBasicBlock &UseMBB,
174 void extendToUses(LiveRange &LR, unsigned Reg, LaneBitmask LaneMask,
212 void extend(LiveRange &LR, SlotIndex Use, unsigned PhysReg,
218 void createDeadDefs(LiveRange &LR, unsigned Reg);
224 void extendToUses(LiveRange &LR, unsigned PhysReg) { in extendToUses()
271 void addLiveInBlock(LiveRange &LR,
DSafeStackColoring.h59 struct LiveRange { struct
65 bool Overlaps(const LiveRange &Other) const { in Overlaps() argument
69 void Join(const LiveRange &Other) { bv |= Other.bv; } in Join() argument
94 SmallVector<LiveRange, 8> LiveRanges;
128 const LiveRange &getLiveRange(AllocaInst *AI);
132 LiveRange getFullLiveRange() { in getFullLiveRange()
134 LiveRange R; in getFullLiveRange()
158 const StackColoring::LiveRange &R) {
DLiveRegMatrix.cpp111 TRI, VirtReg, PhysReg, [&](unsigned Unit, const LiveRange &Range) { in assign()
128 [&](unsigned Unit, const LiveRange &Range) { in unassign()
171 const LiveRange &Range) { in checkRegUnitInterference()
172 const LiveRange &UnitRange = LIS->getRegUnit(Unit); in checkRegUnitInterference()
178 LiveIntervalUnion::Query &LiveRegMatrix::query(const LiveRange &LR, in query()
200 [&](unsigned Unit, const LiveRange &LR) { in checkInterference()
213 LiveRange::Segment Seg(Start, End, &valno); in checkInterference()
214 LiveRange LR; in checkInterference()
DLiveIntervalUnion.cpp30 void LiveIntervalUnion::unify(LiveInterval &VirtReg, const LiveRange &Range) { in unify()
36 LiveRange::const_iterator RegPos = Range.begin(); in unify()
37 LiveRange::const_iterator RegEnd = Range.end(); in unify()
57 void LiveIntervalUnion::extract(LiveInterval &VirtReg, const LiveRange &Range) { in extract()
63 LiveRange::const_iterator RegPos = Range.begin(); in extract()
64 LiveRange::const_iterator RegEnd = Range.end(); in extract()
140 LiveRange::const_iterator LREnd = LR->end(); in collectInterferingVRegs()
DSafeStackLayout.h31 StackColoring::LiveRange Range;
34 const StackColoring::LiveRange &Range) in StackRegion()
44 StackColoring::LiveRange Range;
60 const StackColoring::LiveRange &Range);
DLiveRangeCalc.cpp66 LiveRange &LR, const MachineOperand &MO) { in createDeadDef()
133 LiveRange &MainRange = LI; in constructMainRangeFromSubranges()
147 void LiveRangeCalc::createDeadDefs(LiveRange &LR, unsigned Reg) { in createDeadDefs()
156 void LiveRangeCalc::extendToUses(LiveRange &LR, unsigned Reg, LaneBitmask Mask, in extendToUses()
241 void LiveRangeCalc::extend(LiveRange &LR, SlotIndex Use, unsigned PhysReg, in extend()
276 bool LiveRangeCalc::isDefOnEntry(LiveRange &LR, ArrayRef<SlotIndex> Undefs, in isDefOnEntry()
313 LiveRange::iterator UB = std::upper_bound(LR.begin(), LR.end(), in isDefOnEntry()
316 LiveRange::Segment &Seg = *std::prev(UB); in isDefOnEntry()
346 bool LiveRangeCalc::findReachingDefs(LiveRange &LR, MachineBasicBlock &UseMBB, in findReachingDefs()
554 LiveRange &LR = I.LR; in updateSSA()
/external/v8/src/compiler/
Dregister-allocator.h314 class V8_EXPORT_PRIVATE LiveRange : public NON_EXPORTED_BASE(ZoneObject) { in NON_EXPORTED_BASE()
323 LiveRange* next() const { return next_; } in NON_EXPORTED_BASE()
387 UsePosition* DetachAt(LifetimePosition position, LiveRange* result, in NON_EXPORTED_BASE()
392 LiveRange* SplitAt(LifetimePosition position, Zone* zone); in NON_EXPORTED_BASE()
416 bool ShouldBeAllocatedBefore(const LiveRange* other) const; in NON_EXPORTED_BASE()
419 LifetimePosition FirstIntersection(LiveRange* other) const; in NON_EXPORTED_BASE()
436 explicit LiveRange(int relative_id, MachineRepresentation rep, in NON_EXPORTED_BASE()
461 LiveRange* next_; in NON_EXPORTED_BASE()
471 DISALLOW_COPY_AND_ASSIGN(LiveRange); in NON_EXPORTED_BASE()
475 class V8_EXPORT_PRIVATE TopLevelLiveRange final : public LiveRange {
[all …]
Dregister-allocator.cc29 void RemoveElement(ZoneVector<LiveRange*>* v, LiveRange* range) { in RemoveElement()
101 explicit LiveRangeBound(LiveRange* range, bool skip) in LiveRangeBound()
110 LiveRange* const range_;
121 LiveRange* cur_cover_;
122 LiveRange* pred_cover_;
140 for (LiveRange *i = range; i != nullptr; i = i->next(), ++curr) { in Initialize()
396 LiveRange::LiveRange(int relative_id, MachineRepresentation rep, in LiveRange() function in v8::internal::compiler::LiveRange
415 void LiveRange::VerifyPositions() const { in VerifyPositions()
430 void LiveRange::VerifyIntervals() const { in VerifyIntervals()
442 void LiveRange::set_assigned_register(int reg) { in set_assigned_register()
[all …]
/external/swiftshader/third_party/LLVM/include/llvm/CodeGen/
DLiveInterval.h149 struct LiveRange { struct
154 LiveRange(SlotIndex S, SlotIndex E, VNInfo *V) in LiveRange() argument
173 bool operator<(const LiveRange &LR) const { argument
176 bool operator==(const LiveRange &LR) const {
184 LiveRange(); // DO NOT IMPLEMENT
187 template <> struct isPodLike<LiveRange> { static const bool value = true; };
189 raw_ostream& operator<<(raw_ostream& os, const LiveRange &LR);
192 inline bool operator<(SlotIndex V, const LiveRange &LR) {
196 inline bool operator<(const LiveRange &LR, SlotIndex V) {
206 typedef SmallVector<LiveRange,4> Ranges;
[all …]
/external/swiftshader/third_party/subzero/src/
DIceOperand.cpp104 void LiveRange::addSegment(InstNumberT Start, InstNumberT End, CfgNode *Node) { in addSegment()
127 bool LiveRange::endsBefore(const LiveRange &Other) const { in endsBefore()
137 bool LiveRange::overlaps(const LiveRange &Other, bool UseTrimmed) const { in overlaps()
156 bool LiveRange::overlapsInst(InstNumberT OtherBegin, bool UseTrimmed) const { in overlapsInst()
174 LiveRange Temp; in overlapsInst()
187 bool LiveRange::containsValue(InstNumberT Value, bool IsDest) const { in containsValue()
196 void LiveRange::trim(InstNumberT Lower) { in trim()
632 void LiveRange::dump(Ostream &Str) const { in dump()
644 Ostream &operator<<(Ostream &Str, const LiveRange &L) { in operator <<()
/external/swiftshader/third_party/LLVM/lib/CodeGen/
DSplitter.cpp130 LiveRange *preHeaderRange = in applyIncoming()
151 getNewLI()->addRange(LiveRange(copyDefIdx, in applyIncoming()
167 LiveRange *outRange = ls.lis->findEnteringRange(li, outBlock); in applyOutgoing()
190 getNewLI()->addRange(LiveRange(ls.lis->getMBBStartIdx(outBlock), in applyOutgoing()
196 void copyRange(LiveRange &lr) { in copyRange()
203 LiveRange loopRange(lsr.second.first, lsr.second.second, in copyRange()
218 LiveRange *defRange = in copyRanges()
224 LiveRange *useRange = in copyRanges()
236 LiveRange *enteringRange = in copyRanges()
526 li.addRange(LiveRange(lis->getMBBStartIdx(preHeader), in insertPreHeader()
[all …]

1234