Lines Matching refs:intervals

789 static int zend_jit_add_range(zend_lifetime_interval **intervals, int var, uint32_t from, uint32_t …  in zend_jit_add_range()  argument
791 zend_lifetime_interval *ival = intervals[var]; in zend_jit_add_range()
806 intervals[var] = ival; in zend_jit_add_range()
864 static int zend_jit_begin_range(zend_lifetime_interval **intervals, int var, uint32_t block_start, … in zend_jit_begin_range() argument
866 if (block_start != from && intervals[var]) { in zend_jit_begin_range()
867 zend_life_range *range = &intervals[var]->range; in zend_jit_begin_range()
891 return zend_jit_add_range(intervals, var, from, from); in zend_jit_begin_range()
961 static zend_lifetime_interval *zend_jit_sort_intervals(zend_lifetime_interval **intervals, int coun… in zend_jit_sort_intervals() argument
969 list = intervals[i]; in zend_jit_sort_intervals()
979 zend_lifetime_interval *ival = intervals[i]; in zend_jit_sort_intervals()
1094 static void zend_jit_add_hint(zend_lifetime_interval **intervals, int dst, int src) in zend_jit_add_hint() argument
1096 if (intervals[dst]->range.start < intervals[src]->range.start) { in zend_jit_add_hint()
1101 while (dst != src && intervals[dst]->hint) { in zend_jit_add_hint()
1102 if (intervals[dst]->hint->range.start < intervals[src]->range.start) { in zend_jit_add_hint()
1104 src = intervals[dst]->hint->ssa_var; in zend_jit_add_hint()
1107 dst = intervals[dst]->hint->ssa_var; in zend_jit_add_hint()
1111 intervals[dst]->hint = intervals[src]; in zend_jit_add_hint()
1124 zend_lifetime_interval **intervals; in zend_jit_compute_liveness() local
1136 intervals = do_alloca(mem_size, use_heap); in zend_jit_compute_liveness()
1137 if (!intervals) { in zend_jit_compute_liveness()
1142 …live_in = (zend_bitset)((char*)intervals + ZEND_MM_ALIGNED_SIZE(ssa->vars_count * sizeof(zend_life… in zend_jit_compute_liveness()
1148 memset(intervals, 0, ssa->vars_count * sizeof(zend_lifetime_interval*)); in zend_jit_compute_liveness()
1195 if (zend_jit_add_range(intervals, j, b->start, b->start + b->len - 1) != SUCCESS) { in zend_jit_compute_liveness()
1221 if (zend_jit_begin_range(intervals, op->op1_def, b->start, num) != SUCCESS) { in zend_jit_compute_liveness()
1227 if (zend_jit_begin_range(intervals, op->op2_def, b->start, num) != SUCCESS) { in zend_jit_compute_liveness()
1233 if (zend_jit_begin_range(intervals, op->result_def, b->start, num) != SUCCESS) { in zend_jit_compute_liveness()
1246 if (zend_jit_add_range(intervals, op->op1_use, b->start, num) != SUCCESS) { in zend_jit_compute_liveness()
1254 if (zend_jit_add_range(intervals, op->op2_use, b->start, num) != SUCCESS) { in zend_jit_compute_liveness()
1262 if (zend_jit_add_range(intervals, op->result_use, b->start, num) != SUCCESS) { in zend_jit_compute_liveness()
1300 if (zend_jit_add_range(intervals, j, from, to) != SUCCESS) { in zend_jit_compute_liveness()
1313 if (intervals[i]) { in zend_jit_compute_liveness()
1321 if (intervals[src]) { in zend_jit_compute_liveness()
1322 zend_jit_add_hint(intervals, i, src); in zend_jit_compute_liveness()
1334 if (intervals[src]) { in zend_jit_compute_liveness()
1335 zend_jit_add_hint(intervals, i, src); in zend_jit_compute_liveness()
1344 if (intervals[i] && !intervals[i]->hint) { in zend_jit_compute_liveness()
1355 intervals[ssa->ops[line].op1_use] && in zend_jit_compute_liveness()
1359 !intervals[ssa->ops[line].op1_def])))) { in zend_jit_compute_liveness()
1360 zend_jit_add_hint(intervals, i, ssa->ops[line].op1_use); in zend_jit_compute_liveness()
1368 intervals[ssa->ops[line].op1_use]) { in zend_jit_compute_liveness()
1369 zend_jit_add_hint(intervals, i, ssa->ops[line].op1_use); in zend_jit_compute_liveness()
1374 intervals[ssa->ops[line].op2_use] && in zend_jit_compute_liveness()
1378 !intervals[ssa->ops[line].op2_def])) || in zend_jit_compute_liveness()
1381 !intervals[ssa->ops[line].op2_def]) && in zend_jit_compute_liveness()
1383 !intervals[ssa->ops[line].op1_def])))) { in zend_jit_compute_liveness()
1384 zend_jit_add_hint(intervals, i, ssa->ops[line].op2_use); in zend_jit_compute_liveness()
1395 intervals[ssa->ops[line].op1_use] && in zend_jit_compute_liveness()
1400 zend_jit_add_hint(intervals, i, ssa->ops[line].op1_use); in zend_jit_compute_liveness()
1403 intervals[ssa->ops[line].op2_use] && in zend_jit_compute_liveness()
1408 zend_jit_add_hint(intervals, i, ssa->ops[line].op2_use); in zend_jit_compute_liveness()
1418 *list = zend_jit_sort_intervals(intervals, ssa->vars_count); in zend_jit_compute_liveness()
1430 free_alloca(intervals, use_heap); in zend_jit_compute_liveness()
1435 free_alloca(intervals, use_heap); in zend_jit_compute_liveness()
1860 zend_lifetime_interval **intervals; in zend_jit_allocate_registers() local
1924 intervals = zend_arena_calloc(&CG(arena), ssa->vars_count, sizeof(zend_lifetime_interval*)); in zend_jit_allocate_registers()
1925 if (!intervals) { in zend_jit_allocate_registers()
1933 ival->list_next = intervals[ival->ssa_var]; in zend_jit_allocate_registers()
1934 intervals[ival->ssa_var] = ival; in zend_jit_allocate_registers()
1949 if (intervals[i]) { in zend_jit_allocate_registers()
1950 if (!intervals[src]) { in zend_jit_allocate_registers()
1951 intervals[i]->flags |= ZREG_LOAD; in zend_jit_allocate_registers()
1952 } else if (intervals[i]->reg != intervals[src]->reg) { in zend_jit_allocate_registers()
1953 intervals[i]->flags |= ZREG_LOAD; in zend_jit_allocate_registers()
1954 intervals[src]->flags |= ZREG_STORE; in zend_jit_allocate_registers()
1956 } else if (intervals[src]) { in zend_jit_allocate_registers()
1957 intervals[src]->flags |= ZREG_STORE; in zend_jit_allocate_registers()
1972 if (intervals[i]) { in zend_jit_allocate_registers()
1973 if (!intervals[src]) { in zend_jit_allocate_registers()
1975 } else if (intervals[i]->reg != intervals[src]->reg) { in zend_jit_allocate_registers()
1978 } else if (intervals[src]) { in zend_jit_allocate_registers()
1984 if (intervals[i]) { in zend_jit_allocate_registers()
1985 intervals[i]->flags |= ZREG_LOAD; in zend_jit_allocate_registers()
1996 if (intervals[src]) { in zend_jit_allocate_registers()
1997 intervals[src]->flags |= ZREG_STORE; in zend_jit_allocate_registers()
2007 if (intervals[i] && in zend_jit_allocate_registers()
2008 ((intervals[i]->flags & ZREG_LOAD) || in zend_jit_allocate_registers()
2009 ((intervals[i]->flags & ZREG_STORE) && ssa->vars[i].definition >= 0)) && in zend_jit_allocate_registers()
2015 if (intervals[phi->ssa_var] && in zend_jit_allocate_registers()
2016 !(intervals[phi->ssa_var]->flags & ZREG_LOAD)) { in zend_jit_allocate_registers()
2023 intervals[i] = NULL; in zend_jit_allocate_registers()
2029 if (intervals[i] && in zend_jit_allocate_registers()
2030 (intervals[i]->flags & ZREG_LOAD) && in zend_jit_allocate_registers()
2031 (intervals[i]->flags & ZREG_STORE) && in zend_jit_allocate_registers()
2038 if (intervals[phi->ssa_var] && in zend_jit_allocate_registers()
2039 !(intervals[phi->ssa_var]->flags & ZREG_LOAD)) { in zend_jit_allocate_registers()
2046 intervals[i] = NULL; in zend_jit_allocate_registers()
2055 ival = intervals[i]; in zend_jit_allocate_registers()
2065 return intervals; in zend_jit_allocate_registers()