Home | History | Annotate | Download | only in CodeGen

Lines Matching full:live

120     /// joinAllIntervals - join compatible live intervals
451 // The live range might not exist after fun with physreg coalescing.
468 // Make sure that the end of the live range is inside the same block as
476 // live-range starts. If there are no intervening live ranges between them in
499 // merge, unset the isKill marker given the live range has been extended.
506 // register before the merge, find the last use and trim the live range. That
590 assert(AValNo && "COPY source not live");
715 // Extend BValNo by merging in IntA live ranges of AValNo. Val# definition
748 assert(ValNo && "CopyMI input register not live");
911 // No intervals are live-in to CopyMI - it is undef.
963 // If SrcReg wasn't read, it may still be the case that DstReg is live-in
1028 // sometimes dead copies slip through, and we can't generate invalid live
1112 // If we can eliminate the copy without merging the live ranges, do so now.
1152 // SrcReg is guaranteed to be the register whose live interval that is
1183 // The live range of the reserved register will look like a set of dead defs
1184 // - we don't properly track the live range of reserved registers.
1187 // register live ranges to look like dead defs.
1195 // reserved register. Also skip merging the live ranges, the reserved
1196 // register live range doesn't need to be accurate as long as all the
1214 // In the easiest case, the two live ranges being joined are disjoint, and
1216 // overlapping live ranges, and we need to check if the interference can be
1219 // The live range of a single SSA value forms a sub-tree of the dominator tree.
1221 // is contained in the live range of the other value. As a special case, the
1231 // merged into one. We compute a list of ultimate values in the joined live
1235 // predecessors have a live out value. It doesn't cause real interference,
1241 // the live range of the source register must be trimmed after erasing the
1245 // %dst = COPY %ext <-- Remove this COPY, trim the live range of %ext.
1254 // The live range of %src overlaps the %dst value defined by FOO, but
1258 // The value mapping is more complicated in this case. The final live range
1264 // is live, but never read. This can happen because we don't compute
1265 // individual live ranges per lane.
1285 // Values that will be present in the final live range.
1341 // Value in the other live range that overlaps this def, if any.
1348 // safely erased if they are overlapping a live value in the other live
1353 // longer live ranges. Such IMPLICIT_DEF values should be treated like
1357 // True when the live range of this value will be pruned because of an
1358 // overlapping CR_Replace value in the other live range.
1402 /// Prune the live range of values in Other.LI where they would conflict with
1403 /// CR_Replace values in LI. Collect end points for restoring the live range
1409 /// Add foreign virtual registers to ShrinkRegs if their live range ended at
1453 /// Analyze ValNo in this live range, and set all fields of Vals[ValNo].
1504 // We normally expect IMPLICIT_DEF values to be live only until the end
1505 // of their block. If the value is really live longer and gets pruned in
1527 // This is an early-clobber def overlapping a live-in value in the other
1549 // No simultaneous def. Is Other live at the def?
1610 // still safe to join the live ranges. This can't be done with a simple value
1624 // If the other live range is killed by DefMI and the live ranges are still
1629 // In this case, it is illegal to merge the two live ranges since the early
1638 // VNI is clobbering live lanes in OtherVNI, but there is still the
1641 // Otherwise Other.LI wouldn't be live here.
1693 // This value number needs to go in the final joined live range.
1880 // instructions are only inserted to provide a live-out value for PHI
1888 // Also remove <def,dead> flags since the joined live range will
1897 // the live range also reaches the instruction at Def.
1985 // All clear, the live ranges can be merged.
1988 // value mappings, so we need to remove any live ranges that overlap a
1990 // restore the live range after joining.
2007 // Kill flags are going to be wrong if the live ranges were overlapping.
2008 // Eventually, we should simply clear all kill flags when computing live
2016 // Recompute the parts of the live range we had to remove because of
2068 /// \returns true if the given copy uses or defines a local live range.
2119 // have local live range splitting. In particular this is required by
2211 // either be enabled unconditionally or replaced by a more general live range