Home | History | Annotate | Download | only in CodeGen

Lines Matching full:live

1 //===-- LiveIntervalAnalysis.cpp - Live Interval Analysis -----------------===//
13 // LiveVariables pass to conservatively compute live intervals for
60 "Live Interval Analysis", false, false)
69 "Live Interval Analysis", false, false)
95 // Free the live intervals themselves.
267 /// partially re-defining the specified live interval. A common case of this is
300 // Earlyclobbers move back one, so that they overlap the live range
342 // live range.
354 // of the defining block, potentially live across some blocks, then is
355 // live into some number of blocks, but gets killed. Start by adding a
371 // live in, adding [insrtIndex(begin), instrIndex(end)+4) to the
372 // live interval.
382 // Finally, this virtual register is live from the start of any killing
421 // the live range. The only problem is that we didn't realize there
422 // are actually two values in the live interval. Because of this we
450 // Add the new live interval which replaces the range for the input copy.
455 // If this redefinition is dead, we need to add a dummy unit live
467 // live until the end of the block. We've already taken care of the
468 // rest of the live range.
499 // A physical register cannot be live across basic block, so its
558 // instruction where we know it's dead is if it is live-in to the function
566 // Already exists? Extend old live interval.
645 // Live-in register might not be used at all.
651 DEBUG(dbgs() << " live through");
668 /// computeIntervals - computes the live intervals for virtual
670 /// live interval is an interval [i, j) where 1 <= i <= j < N for
671 /// which a variable is live
673 DEBUG(dbgs() << "********** COMPUTING LIVE INTERVALS **********\n"
689 // Create intervals for live-ins to this BB first.
693 // Multiple live-ins can alias the same register.
742 /// dupInterval - Duplicate a live interval. The caller is responsible for
750 /// shrinkToUses - After removing some uses of a register, shrink its live
761 // Blocks that have already been added to WorkList as live-out.
773 // no live value. It is likely caused by a target getting <undef> flags
790 // Create a new live interval with only minimal live segments per def.
818 // Extend the live range for VNI to be live at Idx.
825 // The PHI is live, make sure the predecessors are live-out.
831 // A predecessor is not required to have a live-out value for a PHI.
838 // VNI is live-in to MBB.
839 DEBUG(dbgs() << " live-in at " << BlockStart << '\n');
842 // Make sure VNI is live-out from the predecessors.
861 assert(LII != NewLI.end() && "Missing live range for PHI");
873 assert(MI && "No instruction defining live value");
898 // If li is not live into a landing pad, we can insert spill code before the
924 // Every instruction that kills Reg corresponds to a live range end point.
989 // a PIC base register which is likely to be live everywhere.
1192 /// for addIntervalsForSpills to rewrite uses / defs for the given live range.
1367 // Extend the split live interval to this def / use.
1438 // First collect all the def / use in this live range that will be rewritten.
1480 // The live range [12, 14) are not part of the r1024 live interval since
1481 // it's defined by an implicit def. It will not conflicts with live
1535 // This ends the previous live interval. If all of its def / use
1620 // If we are splitting live intervals, only fold if it's the first
1697 // This must be an use of an implicit_def so it's not part of the live
1698 // interval. Create a new empty live interval for it.
1770 // Spilling a split live interval. It cannot be split any further. Also,
1796 // If this is a split live interval with multiple ranges, it means there
1847 // Need a stack slot if there is any live range where uses cannot be
1854 // Need a stack slot if there is any live range where uses cannot be
1860 // One stack slot per live interval.