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
49 "Live Interval Analysis", false, false)
55 "Live Interval Analysis", false, false)
71 // Free the live intervals themselves.
156 /// partially re-defining the specified live interval. A common case of this is
210 // live range.
222 // of the defining block, potentially live across some blocks, then is
223 // live into some number of blocks, but gets killed. Start by adding a
239 // live in, adding [insrtIndex(begin), instrIndex(end)+4) to the
240 // live interval.
250 // Finally, this virtual register is live from the start of any killing
289 // the live range. The only problem is that we didn't realize there
290 // are actually two values in the live interval. Because of this we
311 // Add the new live interval which replaces the range for the input copy.
316 // If this redefinition is dead, we need to add a dummy unit live
328 // live until the end of the block. We've already taken care of the
329 // rest of the live range.
419 // If we get here the register *should* be live out.
420 assert(!isAllocatable(interval.reg) && "Physregs shouldn't be live out!");
426 // Unreserved, unallocable registers like EFLAGS can be live across basic
429 "Unreserved reg not live-out?");
435 // Already exists? Extend old live interval.
462 "Only physical registers can be live in.");
465 "Allocatable live-ins only valid for entry blocks and landing pads.");
514 // Live-in register might not be used at all.
518 // Allocatable registers are never live through.
519 // Non-allocatable registers that aren't live into any successors also
520 // aren't live through.
524 // If we get here the register is non-allocatable and live into some
525 // successor. We'll conservatively assume it's live-through.
526 DEBUG(dbgs() << " live through");
542 /// computeIntervals - computes the live intervals for virtual
544 /// live interval is an interval [i, j) where 1 <= i <= j < N for
545 /// which a variable is live
547 DEBUG(dbgs() << "********** COMPUTING LIVE INTERVALS **********\n"
567 // Create intervals for live-ins to this BB first.
629 /// dupInterval - Duplicate a live interval. The caller is responsible for
637 /// shrinkToUses - After removing some uses of a register, shrink its live
648 // Blocks that have already been added to WorkList as live-out.
662 // no live value. It is likely caused by a target getting <undef> flags
680 // Create a new live interval with only minimal live segments per def.
701 // Extend the live range for VNI to be live at Idx.
708 // The PHI is live, make sure the predecessors are live-out.
714 // A predecessor is not required to have a live-out value for a PHI.
721 // VNI is live-in to MBB.
722 DEBUG(dbgs() << " live-in at " << BlockStart << '\n');
725 // Make sure VNI is live-out from the predecessors.
745 assert(LII != NewLI.end() && "Missing live range for PHI");
757 assert(MI && "No instruction defining live value");
786 // Every instruction that kills Reg corresponds to a live range end point.
845 // a PIC base register which is likely to be live everywhere.
897 // A local live range must be fully contained inside the block, meaning it is
899 // live in or or out of any block.
901 // It is technically possible to have a PHI-defined live range identical to a
963 // Use a smaller arrays for local live ranges.
1016 // HMEditor is a toolkit used by handleMove to trim or extend live intervals.
1205 "Non-dead-def should have live range exiting.");
1422 "Live range starting at unexpected slot.");