Lines Matching defs:Intervals
847 /** A list of register intervals */
851 struct interval Intervals[REG_ALLOCATE_MAX_PROGRAM_TEMPS];
858 list->Intervals[list->Num++] = *inv;
868 while (i >= 0 && list->Intervals[i].End > inv->End) {
869 list->Intervals[i + 1] = list->Intervals[i];
872 list->Intervals[i + 1] = *inv;
879 ASSERT(list->Intervals[i].End <= list->Intervals[i + 1].End);
893 if (list->Intervals[k].Reg == inv->Reg) {
895 ASSERT(list->Intervals[k].Start == inv->Start);
896 ASSERT(list->Intervals[k].End == inv->End);
898 list->Intervals[k] = list->Intervals[k + 1];
927 qsort(list->Intervals, list->Num, sizeof(struct interval), compare_start);
932 ASSERT(list->Intervals[i].Start <= list->Intervals[i + 1].Start);
1044 * Find the live intervals for each temporary register in the program.
1065 printf("Optimize: Begin find intervals\n");
1073 /* Build live intervals list from intermediate arrays */
1091 const struct interval *inv = liveIntervals->Intervals + i;
1129 * examine the overlap of the intervals to allocate new registers.
1130 * Basically, if two intervals do not overlap, they can use the same register.
1161 /* loop over live intervals, allocating a new register for each */
1163 const struct interval *live = liveIntervals.Intervals + i;
1168 /* Expire old intervals. Intervals which have ended with respect
1174 const struct interval *inv = activeIntervals.Intervals + j;