HomeSort by relevance Sort by last modified time
    Searched refs:LiveRange (Results 1 - 25 of 88) sorted by null

1 2 3 4

  /external/llvm/lib/CodeGen/
SafeStackLayout.h 25 StackColoring::LiveRange Range;
27 const StackColoring::LiveRange &Range)
36 StackColoring::LiveRange Range;
49 const StackColoring::LiveRange &Range);
LiveRangeCalc.h 80 LiveRange &LR;
94 LiveInBlock(LiveRange &LR, MachineDomTreeNode *node, SlotIndex kill)
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) {
230 void addLiveInBlock(LiveRange &LR,
SafeStackColoring.h 49 struct LiveRange {
53 bool Overlaps(const LiveRange &Other) const {
56 void Join(const LiveRange &Other) { bv |= Other.bv; }
77 /// LiveRange for allocas.
78 SmallVector<LiveRange, 8> LiveRanges;
81 /// allocas get LiveRange that corresponds to the entire function.
111 /// that is large enough for LiveRange::Overlaps to be correct.
112 const LiveRange &getLiveRange(AllocaInst *AI);
116 LiveRange getFullLiveRange() {
118 LiveRange R
    [all...]
LiveInterval.cpp 10 // This file implements the LiveRange and LiveInterval classes. Given some
16 // individual segment is represented as an instance of LiveRange::Segment,
17 // and the whole range is represented as an instance of LiveRange.
53 LiveRange *LR;
56 CalcLiveRangeUtilBase(LiveRange *LR) : LR(LR) {}
59 typedef LiveRange::Segment Segment;
235 typedef CalcLiveRangeUtilBase<CalcLiveRangeUtilVector, LiveRange::iterator,
236 LiveRange::Segments> CalcLiveRangeUtilVectorBase;
240 CalcLiveRangeUtilVector(LiveRange *LR) : CalcLiveRangeUtilVectorBase(LR) {}
245 LiveRange::Segments &segmentsColl() { return LR->segments;
    [all...]
LiveIntervalAnalysis.cpp 151 if (LiveRange *LR = RegUnitRanges[i])
258 void LiveIntervals::computeRegUnitRange(LiveRange &LR, unsigned Unit) {
318 LiveRange *LR = RegUnitRanges[Unit];
321 LR = RegUnitRanges[Unit] = new LiveRange(UseSegmentSetForPhysRegs);
341 static void createSegmentsForValues(LiveRange &LR,
347 LR.addSegment(LiveRange::Segment(Def, Def.getDeadSlot(), VNI));
353 static void extendSegmentsToUses(LiveRange &LR, const SlotIndexes &Indexes,
355 const LiveRange &OldRange) {
391 LR.addSegment(LiveRange::Segment(BlockStart, Idx, VNI));
452 LiveRange NewLR
    [all...]
LiveIntervalUnion.cpp 29 void LiveIntervalUnion::unify(LiveInterval &VirtReg, const LiveRange &Range) {
35 LiveRange::const_iterator RegPos = Range.begin();
36 LiveRange::const_iterator RegEnd = Range.end();
56 void LiveIntervalUnion::extract(LiveInterval &VirtReg, const LiveRange &Range) {
62 LiveRange::const_iterator RegPos = Range.begin();
63 LiveRange::const_iterator RegEnd = Range.end();
LiveRegMatrix.cpp 104 const LiveRange &Range) {
121 const LiveRange &Range) {
164 const LiveRange &Range) {
165 const LiveRange &UnitRange = LIS->getRegUnit(Unit);
  /external/swiftshader/third_party/llvm-7.0/llvm/lib/CodeGen/
SafeStackColoring.h 59 struct LiveRange {
65 bool Overlaps(const LiveRange &Other) const {
69 void Join(const LiveRange &Other) { bv |= Other.bv; }
93 /// LiveRange for allocas.
94 SmallVector<LiveRange, 8> LiveRanges;
97 /// allocas get LiveRange that corresponds to the entire function.
127 /// that is large enough for LiveRange::Overlaps to be correct.
128 const LiveRange &getLiveRange(AllocaInst *AI);
132 LiveRange getFullLiveRange() {
134 LiveRange R
    [all...]
LiveRangeCalc.h 65 /// Map LiveRange to sets of blocks (represented by bit vectors) that
76 using EntryInfoMap = DenseMap<LiveRange *, std::pair<BitVector, BitVector>>;
103 LiveRange &LR;
117 LiveInBlock(LiveRange &LR, MachineDomTreeNode *node, SlotIndex kill)
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)
    [all...]
SafeStackLayout.h 31 StackColoring::LiveRange Range;
34 const StackColoring::LiveRange &Range)
44 StackColoring::LiveRange Range;
60 const StackColoring::LiveRange &Range);
LiveIntervalUnion.cpp 30 void LiveIntervalUnion::unify(LiveInterval &VirtReg, const LiveRange &Range) {
36 LiveRange::const_iterator RegPos = Range.begin();
37 LiveRange::const_iterator RegEnd = Range.end();
57 void LiveIntervalUnion::extract(LiveInterval &VirtReg, const LiveRange &Range) {
63 LiveRange::const_iterator RegPos = Range.begin();
64 LiveRange::const_iterator RegEnd = Range.end();
140 LiveRange::const_iterator LREnd = LR->end();
LiveInterval.cpp 10 // This file implements the LiveRange and LiveInterval classes. Given some
16 // individual segment is represented as an instance of LiveRange::Segment,
17 // and the whole range is represented as an instance of LiveRange.
68 LiveRange *LR;
71 CalcLiveRangeUtilBase(LiveRange *LR) : LR(LR) {}
74 using Segment = LiveRange::Segment;
77 /// A counterpart of LiveRange::createDeadDef: Make sure the range has a
284 CalcLiveRangeUtilBase<CalcLiveRangeUtilVector, LiveRange::iterator,
285 LiveRange::Segments>;
289 CalcLiveRangeUtilVector(LiveRange *LR) : CalcLiveRangeUtilVectorBase(LR) {
    [all...]
LiveIntervals.cpp 118 for (LiveRange *LR : RegUnitRanges)
160 if (LiveRange *LR = RegUnitRanges[Unit])
264 void LiveIntervals::computeRegUnitRange(LiveRange &LR, unsigned Unit) {
331 LiveRange *LR = RegUnitRanges[Unit];
334 LR = RegUnitRanges[Unit] = new LiveRange(UseSegmentSetForPhysRegs);
351 static void createSegmentsForValues(LiveRange &LR,
357 LR.addSegment(LiveRange::Segment(Def, Def.getDeadSlot(), VNI));
361 void LiveIntervals::extendSegmentsToUses(LiveRange &Segments,
370 -> const LiveRange& {
383 const LiveRange &OldRange = getSubRange(LI, LaneMask)
    [all...]
LiveRegMatrix.cpp 111 TRI, VirtReg, PhysReg, [&](unsigned Unit, const LiveRange &Range) {
128 [&](unsigned Unit, const LiveRange &Range) {
171 const LiveRange &Range) {
172 const LiveRange &UnitRange = LIS->getRegUnit(Unit);
178 LiveIntervalUnion::Query &LiveRegMatrix::query(const LiveRange &LR,
200 [&](unsigned Unit, const LiveRange &LR) {
213 LiveRange::Segment Seg(Start, End, &valno);
214 LiveRange LR;
  /external/swiftshader/third_party/llvm-7.0/llvm/include/llvm/CodeGen/
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,
133 Query(const LiveRange &LR, const LiveIntervalUnion &LIU):
138 void init(unsigned NewUserTag, const LiveRange &NewLR,
LiveIntervals.h 97 SmallVector<LiveRange*, 0> RegUnitRanges;
184 void extendToIndices(LiveRange &LR, ArrayRef<SlotIndex> Indices,
187 void extendToIndices(LiveRange &LR, ArrayRef<SlotIndex> Indices) {
198 void pruneValue(LiveRange &LR, SlotIndex Kill,
204 /// LiveRange and all the LiveRange of the subranges if any.
208 "Use pruneValue on the main LiveRange and on each subrange");
245 bool isLiveInToMBB(const LiveRange &LR,
250 bool isLiveOutOfMBB(const LiveRange &LR,
393 LiveRange &getRegUnit(unsigned Unit)
    [all...]
LiveInterval.h 10 // This file implements the LiveRange and LiveInterval classes. Given some
16 // individual segment is represented as an instance of LiveRange::Segment,
17 // and the whole range is represented as an instance of LiveRange.
87 /// Result of a LiveRange query. This class hides the implementation details
157 class LiveRange {
226 /// Constructs a new LiveRange object.
227 LiveRange(bool UseSegmentSet = false)
231 /// Constructs a new LiveRange object by copying segments and valnos from
232 /// another LiveRange.
233 LiveRange(const LiveRange &Other, BumpPtrAllocator &Allocator)
    [all...]
  /external/llvm/include/llvm/CodeGen/
LiveInterval.h 10 // This file implements the LiveRange and LiveInterval classes. Given some
16 // individual segment is represented as an instance of LiveRange::Segment,
17 // and the whole range is represented as an instance of LiveRange.
84 /// Result of a LiveRange query. This class hides the implementation details
154 class LiveRange {
221 /// Constructs a new LiveRange object.
222 LiveRange(bool UseSegmentSet = false)
226 /// Constructs a new LiveRange object by copying segments and valnos from
227 /// another LiveRange.
228 LiveRange(const LiveRange &Other, BumpPtrAllocator &Allocator)
    [all...]
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,
226 bool isLiveOutOfMBB(const LiveRange &LR,
374 LiveRange &getRegUnit(unsigned Unit) {
375 LiveRange *LR = RegUnitRanges[Unit];
379 RegUnitRanges[Unit] = LR = new LiveRange(UseSegmentSetForPhysRegs);
387 LiveRange *getCachedRegUnit(unsigned Unit) {
391 const LiveRange *getCachedRegUnit(unsigned Unit) const
    [all...]
  /external/v8/src/compiler/
register-allocator.h 314 class V8_EXPORT_PRIVATE LiveRange : public NON_EXPORTED_BASE(ZoneObject) {
323 LiveRange* next() const { return next_; }
387 UsePosition* DetachAt(LifetimePosition position, LiveRange* result,
392 LiveRange* SplitAt(LifetimePosition position, Zone* zone);
416 bool ShouldBeAllocatedBefore(const LiveRange* other) const;
419 LifetimePosition FirstIntersection(LiveRange* other) const;
436 explicit LiveRange(int relative_id, MachineRepresentation rep,
461 LiveRange* next_;
471 DISALLOW_COPY_AND_ASSIGN(LiveRange);
475 class V8_EXPORT_PRIVATE TopLevelLiveRange final : public LiveRange {
    [all...]
register-allocator.cc 29 void RemoveElement(ZoneVector<LiveRange*>* v, LiveRange* range) {
101 explicit LiveRangeBound(LiveRange* range, bool skip)
110 LiveRange* const range_;
121 LiveRange* cur_cover_;
122 LiveRange* pred_cover_;
140 for (LiveRange *i = range; i != nullptr; i = i->next(), ++curr) {
396 LiveRange::LiveRange(int relative_id, MachineRepresentation rep,
415 void LiveRange::VerifyPositions() const
    [all...]
  /external/swiftshader/third_party/LLVM/include/llvm/CodeGen/
LiveInterval.h 10 // This file implements the LiveRange and LiveInterval classes. Given some
16 // individual range is represented as an instance of LiveRange, and the whole
146 /// LiveRange structure - This represents a simple register range in the
149 struct LiveRange {
154 LiveRange(SlotIndex S, SlotIndex E, VNInfo *V)
173 bool operator<(const LiveRange &LR) const {
176 bool operator==(const LiveRange &LR) const {
184 LiveRange(); // DO NOT IMPLEMENT
187 template <> struct isPodLike<LiveRange> { static const bool value = true; };
189 raw_ostream& operator<<(raw_ostream& os, const LiveRange &LR)
    [all...]
  /art/compiler/optimizing/
ssa_liveness_analysis.h 63 class LiveRange final : public ArenaObject<kArenaAllocSsaLiveness> {
65 LiveRange(size_t start, size_t end, LiveRange* next) : start_(start), end_(end), next_(next) {
72 LiveRange* GetNext() const { return next_; }
74 bool IntersectsWith(const LiveRange& other) const {
79 bool IsBefore(const LiveRange& other) const {
87 LiveRange* Dup(ScopedArenaAllocator* allocator) const {
88 return new (allocator) LiveRange(
92 LiveRange* GetLastRange() {
99 LiveRange* next_
    [all...]
  /external/swiftshader/third_party/LLVM/lib/CodeGen/
Splitter.h 26 struct LiveRange;
83 std::pair<bool, SlotPair> getLoopSubRange(const LiveRange &lr,
  /external/swiftshader/third_party/subzero/src/
IceOperand.cpp 104 void LiveRange::addSegment(InstNumberT Start, InstNumberT End, CfgNode *Node) {
127 bool LiveRange::endsBefore(const LiveRange &Other) const {
137 bool LiveRange::overlaps(const LiveRange &Other, bool UseTrimmed) const {
156 bool LiveRange::overlapsInst(InstNumberT OtherBegin, bool UseTrimmed) const {
171 // enabled if e.g. the LiveRange implementation changes and extra testing is
174 LiveRange Temp;
187 bool LiveRange::containsValue(InstNumberT Value, bool IsDest) const {
196 void LiveRange::trim(InstNumberT Lower)
    [all...]

Completed in 2424 milliseconds

1 2 3 4