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

1 2

  /external/v8/src/crankshaft/
lithium-allocator.h 156 friend class LiveRange; // Assigns to start_.
185 friend class LiveRange;
190 class LiveRange: public ZoneObject {
194 LiveRange(int id, Zone* zone);
198 LiveRange* parent() const { return parent_; }
199 LiveRange* TopLevel() { return (parent_ == NULL) ? this : parent_; }
200 LiveRange* next() const { return next_; }
237 void SplitAt(LifetimePosition position, LiveRange* result, Zone* zone);
274 bool ShouldBeAllocatedBefore(const LiveRange* other) const;
277 LifetimePosition FirstIntersection(LiveRange* other)
    [all...]
lithium-allocator.cc 74 void LiveRange::Verify() const {
84 bool LiveRange::HasOverlap(UseInterval* target) const {
101 LiveRange::LiveRange(int id, Zone* zone)
118 void LiveRange::set_assigned_register(int reg, Zone* zone) {
125 void LiveRange::MakeSpilled(Zone* zone) {
134 bool LiveRange::HasAllocatedSpillOperand() const {
140 void LiveRange::SetSpillOperand(LOperand* operand) {
148 UsePosition* LiveRange::NextUsePosition(LifetimePosition start) {
159 UsePosition* LiveRange::NextUsePositionRegisterIsBeneficial
    [all...]
lithium-allocator-inl.h 48 void LAllocator::SetLiveRangeAssignedRegister(LiveRange* range, int reg) {
  /external/llvm/lib/CodeGen/
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) {
225 void addLiveInBlock(LiveRange &LR,
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.
52 LiveRange *LR;
55 CalcLiveRangeUtilBase(LiveRange *LR) : LR(LR) {}
58 typedef LiveRange::Segment Segment;
234 typedef CalcLiveRangeUtilBase<CalcLiveRangeUtilVector, LiveRange::iterator,
235 LiveRange::Segments> CalcLiveRangeUtilVectorBase;
239 CalcLiveRangeUtilVector(LiveRange *LR) : CalcLiveRangeUtilVectorBase(LR) {}
244 LiveRange::Segments &segmentsColl() { return LR->segments;
    [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();
LiveIntervalAnalysis.cpp 159 if (LiveRange *LR = RegUnitRanges[i])
269 void LiveIntervals::computeRegUnitRange(LiveRange &LR, unsigned Unit) {
329 LiveRange *LR = RegUnitRanges[Unit];
332 LR = RegUnitRanges[Unit] = new LiveRange(UseSegmentSetForPhysRegs);
352 static void createSegmentsForValues(LiveRange &LR,
358 LR.addSegment(LiveRange::Segment(Def, Def.getDeadSlot(), VNI));
364 static void extendSegmentsToUses(LiveRange &LR, const SlotIndexes &Indexes,
366 const LiveRange &OldRange) {
402 LR.addSegment(LiveRange::Segment(BlockStart, Idx, VNI));
463 LiveRange NewLR
    [all...]
LiveRegMatrix.cpp 104 const LiveRange &Range) {
121 const LiveRange &Range) {
164 const LiveRange &Range) {
165 const LiveRange &UnitRange = LIS->getRegUnit(Unit);
LiveRangeCalc.cpp 44 LiveRange &LR, const MachineOperand &MO) {
105 // Create the def in the main liverange. We do not have to do this if
131 void LiveRangeCalc::createDeadDefs(LiveRange &LR, unsigned Reg) {
141 void LiveRangeCalc::extendToUses(LiveRange &LR, unsigned Reg,
223 void LiveRangeCalc::extend(LiveRange &LR, SlotIndex Use, unsigned PhysReg) {
258 bool LiveRangeCalc::findReachingDefs(LiveRange &LR, MachineBasicBlock &UseMBB,
438 LiveRange &LR = I.LR;
MachineVerifier.cpp 216 void report_context(const LiveRange &LR, unsigned Reg,
218 void report_context(const LiveRange::Segment &S) const;
232 void verifyLiveRangeValue(const LiveRange&, const VNInfo*, unsigned,
234 void verifyLiveRangeSegment(const LiveRange&,
235 const LiveRange::const_iterator I, unsigned,
237 void verifyLiveRange(const LiveRange&, unsigned, LaneBitmask LaneMask = 0);
442 void MachineVerifier::report_context(const LiveRange &LR, unsigned Reg,
447 errs() << "- liverange: " << LR << '\n';
450 void MachineVerifier::report_context(const LiveRange::Segment &S) const {
    [all...]
RegisterCoalescer.cpp 161 /// Add the LiveRange @p ToMerge as a subregister liverange of @p LI.
166 void mergeSubRangeInto(LiveInterval &LI, const LiveRange &ToMerge,
171 void joinSubRegRanges(LiveRange &LRange, LiveRange &RRange,
537 // Okay, we can merge them. We need to insert a new liverange:
584 for (LiveRange::Segment &ASeg : IntA.segments) {
602 /// Copy segements with value number @p SrcValNo from liverange @p Src to live
604 static void addSegmentsWithValNo(LiveRange &Dst, VNInfo *DstValNo,
605 const LiveRange &Src, const VNInfo *SrcValNo
    [all...]
InterferenceCache.h 75 LiveRange *Fixed;
RegisterPressure.cpp 174 static const LiveRange *getLiveRange(const LiveIntervals &LIS, unsigned Reg) {
406 const LiveRange *LR = getLiveRange(LIS, Reg);
569 const LiveRange *LR = getLiveRange(*LIS, Reg);
621 const LiveRange *LR = getLiveRange(*LIS, Reg);
932 const LiveRange *LR = getLiveRange(*LIS, Reg);
    [all...]
  /external/v8/test/unittests/compiler/
live-range-unittest.cc 28 LiveRange* Split(LiveRange* range, int pos) {
46 bool RangesMatch(LiveRange* first, LiveRange* second) {
111 LiveRange* child = Split(range, 1);
116 LiveRange* expected_top = TestRangeBuilder(zone()).Build(0, 1);
117 LiveRange* expected_bottom = TestRangeBuilder(zone()).Build(1, 2);
126 LiveRange* child = Split(range, 3);
131 LiveRange* expected_top = TestRangeBuilder(zone()).Build(0, 2);
132 LiveRange* expected_bottom = TestRangeBuilder(zone()).Build(4, 6)
    [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 98 SmallVector<LiveRange*, 0> RegUnitRanges;
175 void extendToIndices(LiveRange &LR, ArrayRef<SlotIndex> Indices);
185 void pruneValue(LiveRange &LR, SlotIndex Kill,
222 bool isLiveInToMBB(const LiveRange &LR,
227 bool isLiveOutOfMBB(const LiveRange &LR,
375 LiveRange &getRegUnit(unsigned Unit) {
376 LiveRange *LR = RegUnitRanges[Unit];
380 RegUnitRanges[Unit] = LR = new LiveRange(UseSegmentSetForPhysRegs);
388 LiveRange *getCachedRegUnit(unsigned Unit) {
392 const LiveRange *getCachedRegUnit(unsigned Unit) const
    [all...]
LiveIntervalUnion.h 87 void unify(LiveInterval &VirtReg, const LiveRange &Range);
93 void extract(LiveInterval &VirtReg, const LiveRange &Range);
  /external/v8/src/compiler/
register-allocator.h 307 class LiveRange : public ZoneObject {
316 LiveRange* next() const { return next_; }
371 UsePosition* DetachAt(LifetimePosition position, LiveRange* result,
376 LiveRange* SplitAt(LifetimePosition position, Zone* zone);
400 bool ShouldBeAllocatedBefore(const LiveRange* other) const;
403 LifetimePosition FirstIntersection(LiveRange* other) const;
420 explicit LiveRange(int relative_id, MachineRepresentation rep,
445 LiveRange* next_;
455 DISALLOW_COPY_AND_ASSIGN(LiveRange);
462 ZoneVector<LiveRange*>& ranges() { return ranges_;
    [all...]
register-allocator.cc 22 void RemoveElement(ZoneVector<LiveRange*>* v, LiveRange* range) {
124 explicit LiveRangeBound(LiveRange* range, bool skip)
133 LiveRange* const range_;
144 LiveRange* cur_cover_;
145 LiveRange* pred_cover_;
163 for (LiveRange *i = range; i != nullptr; i = i->next(), ++curr) {
418 LiveRange::LiveRange(int relative_id, MachineRepresentation rep,
437 void LiveRange::VerifyPositions() const
    [all...]
live-range-separator.cc 129 LiveRange *child = top;
graph-visualizer.cc 258 void PrintLiveRange(const LiveRange* range, const char* type, int vreg);
548 for (const LiveRange* child = range; child != nullptr;
554 void GraphC1Visualizer::PrintLiveRange(const LiveRange* range, const char* type,
  /art/compiler/optimizing/
ssa_liveness_analysis.h 58 class LiveRange FINAL : public ArenaObject<kArenaAllocSsaLiveness> {
60 LiveRange(size_t start, size_t end, LiveRange* next) : start_(start), end_(end), next_(next) {
67 LiveRange* GetNext() const { return next_; }
69 bool IntersectsWith(const LiveRange& other) const {
74 bool IsBefore(const LiveRange& other) const {
82 LiveRange* Dup(ArenaAllocator* allocator) const {
83 return new (allocator) LiveRange(
87 LiveRange* GetLastRange() {
94 LiveRange* next_
    [all...]
live_ranges_test.cc 72 LiveRange* range = interval->GetFirstRange();
120 LiveRange* range = interval->GetFirstRange();
172 LiveRange* range = interval->GetFirstRange();
251 LiveRange* range = interval->GetFirstRange();
331 LiveRange* range = interval->GetFirstRange();
408 LiveRange* range = interval->GetFirstRange();
live_interval_test.cc 169 LiveRange* current = interval->GetFirstRange();
290 LiveRange* range = interval->GetFirstRange();
301 LiveRange* range = interval->GetFirstRange();
312 LiveRange* range = interval->GetFirstRange();
323 LiveRange* range = interval->GetFirstRange();
  /external/llvm/lib/Target/AMDGPU/
SILoadStoreOptimizer.cpp 276 LiveRange &M0Range = LIS->getRegUnit(*MCRegUnitIterator(AMDGPU::M0, TRI));
277 LiveRange::Segment *M0Segment = M0Range.getSegmentContaining(PairedIndex);
344 LiveRange &M0Range = LIS->getRegUnit(*MCRegUnitIterator(AMDGPU::M0, TRI));
345 LiveRange::Segment *M0Segment = M0Range.getSegmentContaining(PairedIndex);

Completed in 133 milliseconds

1 2