| /netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/CodeGen/ |
| H A D | LiveInterval.h | 157 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 …]
|
| H A D | LiveIntervals.h | 96 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 …]
|
| H A D | LiveRangeCalc.h | 77 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,
|
| H A D | LiveIntervalUnion.h | 91 void unify(LiveInterval &VirtReg, const LiveRange &Range); 94 void extract(LiveInterval &VirtReg, const LiveRange &Range); 114 const LiveRange *LR = nullptr; 115 LiveRange::const_iterator LRI; ///< current position in LR 125 Query(const LiveRange &LR, const LiveIntervalUnion &LIU) in Query() 130 void reset(unsigned NewUserTag, const LiveRange &NewLR, in reset() 141 void init(unsigned NewUserTag, const LiveRange &NewLR, in init()
|
| H A D | LiveIntervalCalc.h | 39 void extendToUses(LiveRange &LR, Register Reg, LaneBitmask LaneMask, 48 void createDeadDefs(LiveRange &LR, Register Reg); 54 void extendToUses(LiveRange &LR, MCRegister PhysReg) { in extendToUses()
|
| H A D | LiveRegMatrix.h | 151 LiveIntervalUnion::Query &query(const LiveRange &LR, MCRegister RegUnit);
|
| /netbsd-src/external/apache2/llvm/dist/llvm/lib/CodeGen/ |
| H A D | LiveInterval.cpp | 67 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 …]
|
| H A D | LiveIntervals.cpp | 118 for (LiveRange *LR : RegUnitRanges) in releaseMemory() 160 if (LiveRange *LR = RegUnitRanges[Unit]) in print() 278 void LiveIntervals::computeRegUnitRange(LiveRange &LR, unsigned Unit) { in computeRegUnitRange() 345 LiveRange *LR = RegUnitRanges[Unit]; in computeLiveInRegUnits() 348 LR = RegUnitRanges[Unit] = new LiveRange(UseSegmentSetForPhysRegs); in computeLiveInRegUnits() 365 static void createSegmentsForValues(LiveRange &LR, in createSegmentsForValues() 371 LR.addSegment(LiveRange::Segment(Def, Def.getDeadSlot(), VNI)); in createSegmentsForValues() 375 void LiveIntervals::extendSegmentsToUses(LiveRange &Segments, in extendSegmentsToUses() 384 -> const LiveRange& { in extendSegmentsToUses() 397 const LiveRange &OldRange = getSubRange(LI, LaneMask); in extendSegmentsToUses() [all …]
|
| H A D | LiveRegMatrix.cpp | 111 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()
|
| H A D | LiveIntervalUnion.cpp | 29 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() 152 LiveRange::const_iterator LREnd = LR->end(); in collectInterferingVRegs()
|
| H A D | SafeStackLayout.h | 30 StackLifetime::LiveRange Range; 33 const StackLifetime::LiveRange &Range) in StackRegion() 43 StackLifetime::LiveRange Range; 59 const StackLifetime::LiveRange &Range);
|
| H A D | LiveIntervalCalc.cpp | 43 LiveRange &LR, const MachineOperand &MO) { in createDeadDef() 118 LiveRange &MainRange = LI; in constructMainRangeFromSubranges() 133 void LiveIntervalCalc::createDeadDefs(LiveRange &LR, Register Reg) { in createDeadDefs() 145 void LiveIntervalCalc::extendToUses(LiveRange &LR, Register Reg, in extendToUses()
|
| H A D | RegisterCoalescer.cpp | 217 bool copyValueUndefInPredecessors(LiveRange &S, 254 void mergeSubRangeInto(LiveInterval &LI, const LiveRange &ToMerge, 260 void joinSubRegRanges(LiveRange &LRange, LiveRange &RRange, 362 void checkMergingChangesDbgValues(CoalescerPair &CP, LiveRange &LHS, 363 JoinVals &LHSVals, LiveRange &RHS, 366 void checkMergingChangesDbgValuesImpl(Register Reg, LiveRange &OtherRange, 367 LiveRange &RegRange, JoinVals &Vals2); 744 for (LiveRange::Segment &ASeg : IntA.segments) { in hasOtherReachingDefs() 764 addSegmentsWithValNo(LiveRange &Dst, VNInfo *DstValNo, const LiveRange &Src, in addSegmentsWithValNo() 768 for (const LiveRange::Segment &S : Src.segments) { in addSegmentsWithValNo() [all …]
|
| H A D | LiveRangeCalc.cpp | 89 void LiveRangeCalc::extend(LiveRange &LR, SlotIndex Use, unsigned PhysReg, in extend() 124 bool LiveRangeCalc::isDefOnEntry(LiveRange &LR, ArrayRef<SlotIndex> Undefs, in isDefOnEntry() 161 LiveRange::iterator UB = upper_bound(LR, End.getPrevSlot()); in isDefOnEntry() 163 LiveRange::Segment &Seg = *std::prev(UB); in isDefOnEntry() 193 bool LiveRangeCalc::findReachingDefs(LiveRange &LR, MachineBasicBlock &UseMBB, in findReachingDefs() 400 LiveRange &LR = I.LR; in updateSSA()
|
| H A D | MachineVerifier.cpp | 229 void report_context(const LiveRange &LR, Register VRegUnit, 231 void report_context(const LiveRange::Segment &S) const; 235 void report_context_liverange(const LiveRange &LR) const; 244 SlotIndex UseIdx, const LiveRange &LR, 248 SlotIndex DefIdx, const LiveRange &LR, 260 void verifyLiveRangeValue(const LiveRange &, const VNInfo *, Register, 262 void verifyLiveRangeSegment(const LiveRange &, 263 const LiveRange::const_iterator I, Register, 265 void verifyLiveRange(const LiveRange &, Register, 516 void MachineVerifier::report_context(const LiveRange &LR, Register VRegUnit, in report_context() [all …]
|
| H A D | RegisterPressure.cpp | 237 static const LiveRange *getLiveRange(const LiveIntervals &LIS, unsigned Reg) { in getLiveRange() 425 bool (*Property)(const LiveRange &LR, SlotIndex Pos)) { in getLanesWithProperty() 441 const LiveRange *LR = LIS.getCachedRegUnit(RegUnit); in getLanesWithProperty() 456 [](const LiveRange &LR, SlotIndex Pos) { in getLiveLanesAt() 586 const LiveRange *LR = getLiveRange(LIS, Reg); in detectDeadDefs() 1250 [](const LiveRange &LR, SlotIndex Pos) { in getLiveLanesAt() 1260 [](const LiveRange &LR, SlotIndex Pos) { in getLastUsedLanes() 1261 const LiveRange::Segment *S = LR.getSegmentContaining(Pos); in getLastUsedLanes() 1271 [](const LiveRange &LR, SlotIndex Pos) { in getLiveThroughAt() 1272 const LiveRange::Segment *S = LR.getSegmentContaining(Pos); in getLiveThroughAt()
|
| H A D | SafeStackLayout.cpp | 41 const StackLifetime::LiveRange &Range) { in addObject() 98 Regions.emplace_back(LastRegionEnd, Start, StackLifetime::LiveRange(0)); in layoutObject()
|
| H A D | InterferenceCache.h | 80 LiveRange *Fixed = nullptr;
|
| H A D | SplitKit.cpp | 1132 for (const LiveRange::Segment &S : Edit->getParent()) { in transferValues() 1237 static bool removeDeadSegment(SlotIndex Def, LiveRange &LR) { in removeDeadSegment() 1238 const LiveRange::Segment *Seg = LR.getSegmentContaining(Def); in removeDeadSegment() 1249 LiveRange &LR, LaneBitmask LM, in extendPHIRange() 1259 LiveRange &PSR = !LM.all() ? getSubRangeForMaskExact(LM, PLI) in extendPHIRange() 1260 : static_cast<LiveRange &>(PLI); in extendPHIRange() 1416 for (const LiveRange::Segment &S : LI->segments) { in deleteRematVictims()
|
| H A D | SplitKit.h | 435 LiveRange &LR, LaneBitmask LM,
|
| /netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/Analysis/ |
| H A D | StackLifetime.h | 64 class LiveRange { 67 const StackLifetime::LiveRange &R); 70 LiveRange(unsigned Size, bool Set = false) : Bits(Size, Set) {} in Bits() 73 bool overlaps(const LiveRange &Other) const { in overlaps() 77 void join(const LiveRange &Other) { Bits |= Other.Bits; } in join() 110 SmallVector<LiveRange, 8> LiveRanges; 153 const LiveRange &getLiveRange(const AllocaInst *AI) const; 163 LiveRange getFullLiveRange() const { in getFullLiveRange() 164 return LiveRange(Instructions.size(), true); in getFullLiveRange() 180 const StackLifetime::LiveRange &R) {
|
| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Analysis/ |
| H A D | StackLifetime.cpp | 39 const StackLifetime::LiveRange & 330 LiveRanges.resize(NumAllocas, LiveRange(Instructions.size())); in run() 336 LiveRanges.resize(NumAllocas, LiveRange(Instructions.size())); in run()
|
| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/AMDGPU/ |
| H A D | SIWholeQuadMode.cpp | 186 void markDefs(const MachineInstr &UseMI, LiveRange &LR, Register Reg, 315 void SIWholeQuadMode::markDefs(const MachineInstr &UseMI, LiveRange &LR, in markDefs() 451 LiveRange &LR = LIS->getInterval(Reg); in markOperand() 459 LiveRange &LR = LIS->getRegUnit(*RegUnit); in markOperand() 1076 LiveRange &LR = in prepareInsertion() 1084 const LiveRange::Segment *S; in prepareInsertion()
|
| H A D | SIOptimizeExecMaskingPreRA.cpp | 83 static bool isDefBetween(const LiveRange &LR, SlotIndex AndIdx, in isDefBetween() 285 LiveRange &RegUnit = LIS->getRegUnit(*UI); in optimizeElseBranch()
|
| /netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/Hexagon/ |
| H A D | HexagonExpandCondsets.cpp | 206 void updateDeadsInRange(Register Reg, LaneBitmask LM, LiveRange &Range); 350 LiveRange::iterator F = S.find(I->end); in updateKillFlags() 368 LiveRange &Range) { in updateDeadsInRange() 1112 LiveRange::Segment &LR = *I; in isIntraBlocks() 1174 L1.addSegment(LiveRange::Segment(I->start, I->end, NewVN)); in coalesceRegisters()
|