Home
last modified time | relevance | path

Searched refs:LiveRange (Results 1 – 25 of 100) 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/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);
/external/swiftshader/third_party/llvm-10.0/llvm/include/llvm/CodeGen/
DLiveRangeCalc.h75 using EntryInfoMap = DenseMap<LiveRange *, std::pair<BitVector, BitVector>>;
102 LiveRange &LR;
116 LiveInBlock(LiveRange &LR, MachineDomTreeNode *node, SlotIndex kill) in LiveInBlock()
128 bool isDefOnEntry(LiveRange &LR, ArrayRef<SlotIndex> Undefs,
148 bool findReachingDefs(LiveRange &LR, MachineBasicBlock &UseMBB, SlotIndex Use,
172 void extendToUses(LiveRange &LR, unsigned Reg, LaneBitmask LaneMask,
210 void extend(LiveRange &LR, SlotIndex Use, unsigned PhysReg,
216 void createDeadDefs(LiveRange &LR, unsigned Reg);
222 void extendToUses(LiveRange &LR, unsigned PhysReg) { in extendToUses()
269 void addLiveInBlock(LiveRange &LR, MachineDomTreeNode *DomNode,
DLiveInterval.h156 class LiveRange {
230 LiveRange(bool UseSegmentSet = false)
236 LiveRange(const LiveRange &Other, BumpPtrAllocator &Allocator) { in LiveRange() function
243 void assign(const LiveRange &Other, BumpPtrAllocator &Allocator) { in assign()
288 return const_cast<LiveRange*>(this)->find(Pos); in find()
363 void MergeSegmentsInAsValue(const LiveRange &RHS, VNInfo *LHSValNo);
370 void MergeValueInAsValue(const LiveRange &RHS,
439 bool overlaps(const LiveRange &other) const { in overlaps()
450 bool overlaps(const LiveRange &Other, const CoalescerPair &CP,
460 bool overlapsFrom(const LiveRange &Other, const_iterator StartPos) const;
[all …]
DLiveIntervals.h96 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-project/llvm/include/llvm/CodeGen/
DLiveInterval.h157 class LiveRange {
231 LiveRange(bool UseSegmentSet = false)
237 LiveRange(const LiveRange &Other, BumpPtrAllocator &Allocator) { in LiveRange() function
244 void assign(const LiveRange &Other, BumpPtrAllocator &Allocator) { in assign()
289 return const_cast<LiveRange*>(this)->find(Pos); in find()
364 void MergeSegmentsInAsValue(const LiveRange &RHS, VNInfo *LHSValNo);
371 void MergeValueInAsValue(const LiveRange &RHS,
440 bool overlaps(const LiveRange &other) const { in overlaps()
451 bool overlaps(const LiveRange &Other, const CoalescerPair &CP,
461 bool overlapsFrom(const LiveRange &Other, const_iterator StartPos) const;
[all …]
DLiveIntervals.h96 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()
394 LiveRange &getRegUnit(unsigned Unit) { in getRegUnit()
395 LiveRange *LR = RegUnitRanges[Unit]; in getRegUnit()
399 RegUnitRanges[Unit] = LR = new LiveRange(UseSegmentSetForPhysRegs); in getRegUnit()
407 LiveRange *getCachedRegUnit(unsigned Unit) { in getCachedRegUnit()
[all …]
DLiveRangeCalc.h77 using EntryInfoMap = DenseMap<LiveRange *, std::pair<BitVector, BitVector>>;
104 LiveRange &LR;
118 LiveInBlock(LiveRange &LR, MachineDomTreeNode *node, SlotIndex kill) in LiveInBlock()
130 bool isDefOnEntry(LiveRange &LR, ArrayRef<SlotIndex> Undefs,
150 bool findReachingDefs(LiveRange &LR, MachineBasicBlock &UseMBB, SlotIndex Use,
208 void extend(LiveRange &LR, SlotIndex Use, unsigned PhysReg,
244 void addLiveInBlock(LiveRange &LR, MachineDomTreeNode *DomNode,
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-project/llvm/lib/CodeGen/
DLiveInterval.cpp67 LiveRange *LR;
70 CalcLiveRangeUtilBase(LiveRange *LR) : LR(LR) {} in CalcLiveRangeUtilBase()
73 using Segment = LiveRange::Segment;
283 CalcLiveRangeUtilBase<CalcLiveRangeUtilVector, LiveRange::iterator,
284 LiveRange::Segments>;
288 CalcLiveRangeUtilVector(LiveRange *LR) : CalcLiveRangeUtilVectorBase(LR) {} in CalcLiveRangeUtilVector()
293 LiveRange::Segments &segmentsColl() { return LR->segments; } in segmentsColl()
309 CalcLiveRangeUtilBase<CalcLiveRangeUtilSet, LiveRange::SegmentSet::iterator,
310 LiveRange::SegmentSet>;
314 CalcLiveRangeUtilSet(LiveRange *LR) : CalcLiveRangeUtilSetBase(LR) {} in CalcLiveRangeUtilSet()
[all …]
DLiveIntervals.cpp115 for (LiveRange *LR : RegUnitRanges) in releaseMemory()
157 if (LiveRange *LR = RegUnitRanges[Unit]) in print()
275 void LiveIntervals::computeRegUnitRange(LiveRange &LR, unsigned Unit) { in computeRegUnitRange()
342 LiveRange *LR = RegUnitRanges[Unit]; in computeLiveInRegUnits()
345 LR = RegUnitRanges[Unit] = new LiveRange(UseSegmentSetForPhysRegs); in computeLiveInRegUnits()
362 static void createSegmentsForValues(LiveRange &LR, in createSegmentsForValues()
368 LR.addSegment(LiveRange::Segment(Def, Def.getDeadSlot(), VNI)); in createSegmentsForValues()
372 void LiveIntervals::extendSegmentsToUses(LiveRange &Segments, in extendSegmentsToUses()
381 -> const LiveRange& { in extendSegmentsToUses()
394 const LiveRange &OldRange = getSubRange(LI, LaneMask); in extendSegmentsToUses()
[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()
139 LiveRange::const_iterator LREnd = LR->end(); in collectInterferingVRegs()
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 [&](MCRegister Unit, const LiveRange &LR) { in checkInterference()
213 LiveRange::Segment Seg(Start, End, &valno); in checkInterference()
214 LiveRange LR; in checkInterference()
/external/swiftshader/third_party/llvm-10.0/llvm/lib/CodeGen/
DLiveInterval.cpp67 LiveRange *LR;
70 CalcLiveRangeUtilBase(LiveRange *LR) : LR(LR) {} in CalcLiveRangeUtilBase()
73 using Segment = LiveRange::Segment;
283 CalcLiveRangeUtilBase<CalcLiveRangeUtilVector, LiveRange::iterator,
284 LiveRange::Segments>;
288 CalcLiveRangeUtilVector(LiveRange *LR) : CalcLiveRangeUtilVectorBase(LR) {} in CalcLiveRangeUtilVector()
293 LiveRange::Segments &segmentsColl() { return LR->segments; } in segmentsColl()
309 CalcLiveRangeUtilBase<CalcLiveRangeUtilSet, LiveRange::SegmentSet::iterator,
310 LiveRange::SegmentSet>;
314 CalcLiveRangeUtilSet(LiveRange *LR) : CalcLiveRangeUtilSetBase(LR) {} in CalcLiveRangeUtilSet()
[all …]
DLiveIntervals.cpp117 for (LiveRange *LR : RegUnitRanges) in releaseMemory()
159 if (LiveRange *LR = RegUnitRanges[Unit]) in print()
268 void LiveIntervals::computeRegUnitRange(LiveRange &LR, unsigned Unit) { in computeRegUnitRange()
335 LiveRange *LR = RegUnitRanges[Unit]; in computeLiveInRegUnits()
338 LR = RegUnitRanges[Unit] = new LiveRange(UseSegmentSetForPhysRegs); in computeLiveInRegUnits()
355 static void createSegmentsForValues(LiveRange &LR, in createSegmentsForValues()
361 LR.addSegment(LiveRange::Segment(Def, Def.getDeadSlot(), VNI)); in createSegmentsForValues()
365 void LiveIntervals::extendSegmentsToUses(LiveRange &Segments, in extendSegmentsToUses()
374 -> const LiveRange& { in extendSegmentsToUses()
387 const LiveRange &OldRange = getSubRange(LI, LaneMask); in extendSegmentsToUses()
[all …]
DSafeStackColoring.h58 struct LiveRange { struct
64 bool Overlaps(const LiveRange &Other) const { in Overlaps() argument
68 void Join(const LiveRange &Other) { bv |= Other.bv; } in Join() argument
93 SmallVector<LiveRange, 8> LiveRanges;
127 const LiveRange &getLiveRange(AllocaInst *AI);
131 LiveRange getFullLiveRange() { in getFullLiveRange()
133 LiveRange R; in getFullLiveRange()
157 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.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()
139 LiveRange::const_iterator LREnd = LR->end(); in collectInterferingVRegs()
/external/llvm-project/llvm/include/llvm/Analysis/
DStackLifetime.h63 class LiveRange {
66 const StackLifetime::LiveRange &R);
69 LiveRange(unsigned Size, bool Set = false) : Bits(Size, Set) {} in Bits()
72 bool overlaps(const LiveRange &Other) const { in overlaps()
76 void join(const LiveRange &Other) { Bits |= Other.Bits; } in join()
109 SmallVector<LiveRange, 8> LiveRanges;
152 const LiveRange &getLiveRange(const AllocaInst *AI) const;
162 LiveRange getFullLiveRange() const { in getFullLiveRange()
163 return LiveRange(Instructions.size(), true); in getFullLiveRange()
186 const StackLifetime::LiveRange &R) {

1234