Home
last modified time | relevance | path

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

12

/third_party/skia/third_party/externals/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()
DLiveRegMatrix.h150 LiveIntervalUnion::Query &query(const LiveRange &LR, unsigned RegUnit);
/third_party/skia/third_party/externals/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()
DSafeStackLayout.h30 StackColoring::LiveRange Range;
33 const StackColoring::LiveRange &Range) in StackRegion()
43 StackColoring::LiveRange Range;
59 const StackColoring::LiveRange &Range);
DLiveRangeCalc.cpp65 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()
553 LiveRange &LR = I.LR; in updateSSA()
DRegisterCoalescer.cpp242 void mergeSubRangeInto(LiveInterval &LI, const LiveRange &ToMerge,
248 void joinSubRegRanges(LiveRange &LRange, LiveRange &RRange,
350 void checkMergingChangesDbgValues(CoalescerPair &CP, LiveRange &LHS,
351 JoinVals &LHSVals, LiveRange &RHS,
354 void checkMergingChangesDbgValuesImpl(unsigned Reg, LiveRange &OtherRange,
355 LiveRange &RegRange, JoinVals &Vals2);
724 for (LiveRange::Segment &ASeg : IntA.segments) { in hasOtherReachingDefs()
744 addSegmentsWithValNo(LiveRange &Dst, VNInfo *DstValNo, const LiveRange &Src, in addSegmentsWithValNo()
748 for (const LiveRange::Segment &S : Src.segments) { in addSegmentsWithValNo()
757 LiveRange::Segment Added = LiveRange::Segment(S.start, S.end, DstValNo); in addSegmentsWithValNo()
[all …]
DMachineVerifier.cpp251 void report_context(const LiveRange &LR, unsigned VRegUnit,
253 void report_context(const LiveRange::Segment &S) const;
257 void report_context_liverange(const LiveRange &LR) const;
266 SlotIndex UseIdx, const LiveRange &LR, unsigned VRegOrUnit,
269 SlotIndex DefIdx, const LiveRange &LR, unsigned VRegOrUnit,
281 void verifyLiveRangeValue(const LiveRange&, const VNInfo*, unsigned,
283 void verifyLiveRangeSegment(const LiveRange&,
284 const LiveRange::const_iterator I, unsigned,
286 void verifyLiveRange(const LiveRange&, unsigned,
527 void MachineVerifier::report_context(const LiveRange &LR, unsigned VRegUnit, in report_context()
[all …]
DSafeStackLayout.cpp42 const StackColoring::LiveRange &Range) { in addObject()
99 Regions.emplace_back(LastRegionEnd, Start, StackColoring::LiveRange()); in layoutObject()
DRegisterPressure.cpp237 static const LiveRange *getLiveRange(const LiveIntervals &LIS, unsigned Reg) { in getLiveRange()
424 bool(*Property)(const LiveRange &LR, SlotIndex Pos)) { in getLanesWithProperty()
440 const LiveRange *LR = LIS.getCachedRegUnit(RegUnit); in getLanesWithProperty()
455 [](const LiveRange &LR, SlotIndex Pos) { in getLiveLanesAt()
584 const LiveRange *LR = getLiveRange(LIS, Reg); in detectDeadDefs()
1248 [](const LiveRange &LR, SlotIndex Pos) { in getLiveLanesAt()
1258 [](const LiveRange &LR, SlotIndex Pos) { in getLastUsedLanes()
1259 const LiveRange::Segment *S = LR.getSegmentContaining(Pos); in getLastUsedLanes()
1269 [](const LiveRange &LR, SlotIndex Pos) { in getLiveThroughAt()
1270 const LiveRange::Segment *S = LR.getSegmentContaining(Pos); in getLiveThroughAt()
DSafeStackColoring.cpp41 const StackColoring::LiveRange &StackColoring::getLiveRange(AllocaInst *AI) { in getLiveRange()
277 LiveRange &Range = LiveRanges[AllocaNo]; in dumpLiveRanges()
DInterferenceCache.h80 LiveRange *Fixed = nullptr;
DSplitKit.cpp1125 for (const LiveRange::Segment &S : Edit->getParent()) { in transferValues()
1230 static bool removeDeadSegment(SlotIndex Def, LiveRange &LR) { in removeDeadSegment()
1231 const LiveRange::Segment *Seg = LR.getSegmentContaining(Def); in removeDeadSegment()
1242 LiveRange &LR, LaneBitmask LM, in extendPHIRange()
1252 LiveRange &PSR = !LM.all() ? getSubRangeForMask(LM, PLI) in extendPHIRange()
1253 : static_cast<LiveRange&>(PLI); in extendPHIRange()
1411 for (const LiveRange::Segment &S : LI->segments) { in deleteRematVictims()
DSplitKit.h418 LiveRange &LR, LaneBitmask LM,
/third_party/skia/third_party/externals/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()
643 void LiveRange::dump(Ostream &Str) const { in dump()
655 Ostream &operator<<(Ostream &Str, const LiveRange &L) { in operator <<()
DIceOperand.h604 class LiveRange {
609 LiveRange() = default;
612 explicit LiveRange(const CfgVector<InstNumberT> &Kills) { in LiveRange() function
617 LiveRange(const LiveRange &) = default;
618 LiveRange &operator=(const LiveRange &) = default;
629 bool endsBefore(const LiveRange &Other) const;
630 bool overlaps(const LiveRange &Other, bool UseTrimmed = false) const;
668 Ostream &operator<<(Ostream &Str, const LiveRange &L);
773 LiveRange &getLiveRange() { return Live; } in getLiveRange()
774 const LiveRange &getLiveRange() const { return Live; } in getLiveRange()
[all …]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/Hexagon/
DHexagonExpandCondsets.cpp204 void updateDeadsInRange(unsigned Reg, LaneBitmask LM, LiveRange &Range);
349 LiveRange::iterator F = S.find(I->end); in updateKillFlags()
367 LiveRange &Range) { in updateDeadsInRange()
1111 LiveRange::Segment &LR = *I; in isIntraBlocks()
1173 L1.addSegment(LiveRange::Segment(I->start, I->end, NewVN)); in coalesceRegisters()
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/AMDGPU/
DSIWholeQuadMode.cpp288 LiveRange &LR = LIS->getRegUnit(*RegUnit); in markInstructionUses()
586 LiveRange &LR = LIS->getRegUnit(*MCRegUnitIterator(AMDGPU::SCC, TRI)); in prepareInsertion()
593 const LiveRange::Segment *S; in prepareInsertion()
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Target/PowerPC/
DPPCVSXFMAMutate.cpp323 LiveRange &AddendSrcRange = LIS->getRegUnit(Unit); in processBlock()

12