/external/llvm/include/llvm/CodeGen/ |
D | LiveInterval.h | 154 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 …]
|
D | LiveIntervalAnalysis.h | 97 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/ |
D | LiveInterval.cpp | 53 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 …]
|
D | LiveIntervalAnalysis.cpp | 151 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 …]
|
D | LiveRangeCalc.h | 80 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,
|
D | SafeStackColoring.h | 49 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) {
|
D | SafeStackLayout.h | 25 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/ |
D | LiveRangeCalc.h | 75 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,
|
D | LiveInterval.h | 156 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 …]
|
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 …]
|
D | LiveIntervalUnion.h | 91 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/ |
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 …]
|
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() 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 …]
|
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,
|
D | LiveIntervalUnion.h | 91 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/ |
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 …]
|
D | LiveIntervals.cpp | 115 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 …]
|
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() 139 LiveRange::const_iterator LREnd = LR->end(); in collectInterferingVRegs()
|
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()
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/CodeGen/ |
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 …]
|
D | LiveIntervals.cpp | 117 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 …]
|
D | SafeStackColoring.h | 58 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) {
|
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 [&](unsigned Unit, const LiveRange &LR) { in checkInterference() 213 LiveRange::Segment Seg(Start, End, &valno); in checkInterference() 214 LiveRange LR; in checkInterference()
|
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() 139 LiveRange::const_iterator LREnd = LR->end(); in collectInterferingVRegs()
|
/external/llvm-project/llvm/include/llvm/Analysis/ |
D | StackLifetime.h | 63 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) {
|