Home
last modified time | relevance | path

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

12

/freebsd-12.1/contrib/llvm/include/llvm/CodeGen/
H A DLiveInterval.h157 class LiveRange {
227 LiveRange(bool UseSegmentSet = false)
233 LiveRange(const LiveRange &Other, BumpPtrAllocator &Allocator) { in LiveRange() function
497 void join(LiveRange &Other,
640 using super = LiveRange;
645 class SubRange : public LiveRange {
855 LiveRange *LR;
857 LiveRange::iterator WriteI;
858 LiveRange::iterator ReadI;
872 void add(LiveRange::Segment);
[all …]
H A DLiveIntervals.h97 SmallVector<LiveRange*, 0> RegUnitRanges;
184 void extendToIndices(LiveRange &LR, ArrayRef<SlotIndex> Indices,
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()
406 LiveRange *getCachedRegUnit(unsigned Unit) { in getCachedRegUnit()
410 const LiveRange *getCachedRegUnit(unsigned Unit) const { in getCachedRegUnit()
462 void computeRegUnitRange(LiveRange&, unsigned Unit);
[all …]
H A 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()
H A DLiveRegMatrix.h151 LiveIntervalUnion::Query &query(const LiveRange &LR, unsigned RegUnit);
/freebsd-12.1/contrib/llvm/lib/CodeGen/
H A DLiveInterval.cpp68 LiveRange *LR;
74 using Segment = LiveRange::Segment;
353 LiveRange::iterator LiveRange::find(SlotIndex Pos) { in find()
407 bool LiveRange::overlapsFrom(const LiveRange& other, in overlapsFrom()
448 bool LiveRange::overlaps(const LiveRange &Other, const CoalescerPair &CP, in overlaps()
497 bool LiveRange::covers(const LiveRange &Other) const { in covers()
551 LiveRange::iterator LiveRange::addSegment(Segment S) { in addSegment()
644 void LiveRange::join(LiveRange &Other, in join()
727 void LiveRange::MergeSegmentsInAsValue(const LiveRange &RHS, in MergeSegmentsInAsValue()
739 void LiveRange::MergeValueInAsValue(const LiveRange &RHS, in MergeValueInAsValue()
[all …]
H A DLiveIntervals.cpp118 for (LiveRange *LR : RegUnitRanges) in releaseMemory()
370 -> const LiveRange& { in extendSegmentsToUses()
488 LiveRange NewLR; in shrinkToUses()
586 LiveRange NewLR; in shrinkToUses()
686 SmallVector<std::pair<const LiveRange*, LiveRange::const_iterator>, 8> RU; in addKillFlags()
868 LiveRange::Segment
952 SmallPtrSet<LiveRange*, 8> Updated;
1048 LiveRange::iterator E = LR.end(); in handleMoveDown()
1056 LiveRange::iterator OldIdxOut; in handleMoveDown()
1125 LiveRange::iterator AfterNewIdx in handleMoveDown()
[all …]
H A 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,
H A 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) {
H A 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()
H A 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()
H A DSafeStackLayout.h31 StackColoring::LiveRange Range;
34 const StackColoring::LiveRange &Range) in StackRegion()
44 StackColoring::LiveRange Range;
60 const StackColoring::LiveRange &Range);
H A 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()
H A DMachineVerifier.cpp248 void report_context(const LiveRange &LR, unsigned VRegUnit,
250 void report_context(const LiveRange::Segment &S) const;
254 void report_context_liverange(const LiveRange &LR) const;
278 void verifyLiveRangeValue(const LiveRange&, const VNInfo*, unsigned,
280 void verifyLiveRangeSegment(const LiveRange&,
283 void verifyLiveRange(const LiveRange&, unsigned,
1571 if (const LiveRange *LR = LiveInts->getCachedRegUnit(*Units)) in checkLiveness()
1964 if (const LiveRange *LR = LiveInts->getCachedRegUnit(i)) in verifyLiveIntervals()
1968 void MachineVerifier::verifyLiveRangeValue(const LiveRange &LR, in verifyLiveRangeValue()
2060 void MachineVerifier::verifyLiveRangeSegment(const LiveRange &LR, in verifyLiveRangeSegment()
[all …]
H A DRegisterCoalescer.cpp211 void joinSubRegRanges(LiveRange &LRange, LiveRange &RRange,
673 for (LiveRange::Segment &ASeg : IntA.segments) { in hasOtherReachingDefs()
694 addSegmentsWithValNo(LiveRange &Dst, VNInfo *DstValNo, const LiveRange &Src, in addSegmentsWithValNo()
707 LiveRange::Segment Added = LiveRange::Segment(S.start, S.end, DstValNo); in addSegmentsWithValNo()
2049 LiveRange &LR = LIS->getRegUnit(*UI); in joinReservedPhysReg()
2134 LiveRange &LR;
3055 assert(&static_cast<LiveRange&>(LI) == &LR); in pruneMainSegments()
3126 LiveRange::iterator I = SR.find(Def); in eraseInstrs()
3142 LiveRange::iterator S = LR.find(Def); in eraseInstrs()
3176 void RegisterCoalescer::joinSubRegRanges(LiveRange &LRange, LiveRange &RRange, in joinSubRegRanges()
[all …]
H A DSafeStackLayout.cpp43 const StackColoring::LiveRange &Range) { in addObject()
100 Regions.emplace_back(LastRegionEnd, Start, StackColoring::LiveRange()); in layoutObject()
H A DRegisterPressure.cpp222 static const LiveRange *getLiveRange(const LiveIntervals &LIS, unsigned Reg) { in getLiveRange()
409 bool(*Property)(const LiveRange &LR, SlotIndex Pos)) { in getLanesWithProperty()
425 const LiveRange *LR = LIS.getCachedRegUnit(RegUnit); in getLanesWithProperty()
440 [](const LiveRange &LR, SlotIndex Pos) { in getLiveLanesAt()
569 const LiveRange *LR = getLiveRange(LIS, Reg); in detectDeadDefs()
1227 [](const LiveRange &LR, SlotIndex Pos) { in getLiveLanesAt()
1237 [](const LiveRange &LR, SlotIndex Pos) { in getLastUsedLanes()
1238 const LiveRange::Segment *S = LR.getSegmentContaining(Pos); in getLastUsedLanes()
1248 [](const LiveRange &LR, SlotIndex Pos) { in getLiveThroughAt()
1249 const LiveRange::Segment *S = LR.getSegmentContaining(Pos); in getLiveThroughAt()
H A DSafeStackColoring.cpp42 const StackColoring::LiveRange &StackColoring::getLiveRange(AllocaInst *AI) { in getLiveRange()
278 LiveRange &Range = LiveRanges[AllocaNo]; in dumpLiveRanges()
H A DInterferenceCache.h81 LiveRange *Fixed = nullptr;
H A 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()
H A DSplitKit.h419 LiveRange &LR, LaneBitmask LM,
H A DInterferenceCache.cpp238 LiveRange *LR = RegUnits[i].Fixed; in update()
H A DRenameIndependentSubregs.cpp339 SR.addSegment(LiveRange::Segment(RegDefIdx, PredEnd, SRVNI)); in computeMainRangesFixFlags()
/freebsd-12.1/contrib/llvm/lib/Target/Hexagon/
H A 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()
/freebsd-12.1/contrib/llvm/lib/Target/AMDGPU/
H A DSIWholeQuadMode.cpp284 LiveRange &LR = LIS->getRegUnit(*RegUnit); in markInstructionUses()
574 LiveRange &LR = LIS->getRegUnit(*MCRegUnitIterator(AMDGPU::SCC, TRI)); in prepareInsertion()
581 const LiveRange::Segment *S; in prepareInsertion()
/freebsd-12.1/contrib/llvm/lib/Target/PowerPC/
H A DPPCVSXFMAMutate.cpp323 LiveRange &AddendSrcRange = LIS->getRegUnit(Unit); in processBlock()

12