Lines Matching refs:blocks
127 static zend_bool dominates(const zend_basic_block *blocks, int a, int b) { in dominates() argument
128 while (blocks[b].level > blocks[a].level) { in dominates()
129 b = blocks[b].idom; in dominates()
148 if (ssa->cfg.blocks[ssa->cfg.map[use]].loop_header > 0 in zend_ssa_is_last_use()
149 || (ssa->cfg.blocks[ssa->cfg.map[use]].flags & ZEND_BB_LOOP_HEADER)) { in zend_ssa_is_last_use()
155 && dominates(ssa->cfg.blocks, b, ssa->cfg.map[prev_use]) in zend_ssa_is_last_use()
349 if (!(ssa->cfg.blocks[b].flags & (ZEND_BB_START|ZEND_BB_ENTRY|ZEND_BB_RECV_ENTRY))) { in dasm_link_and_encode()
415 if (ssa->cfg.blocks[b].flags & (ZEND_BB_START|ZEND_BB_ENTRY|ZEND_BB_RECV_ENTRY)) { in dasm_link_and_encode()
417 zend_op *opline = op_array->opcodes + ssa->cfg.blocks[b].start; in dasm_link_and_encode()
749 && ssa->cfg.blocks in zend_jit_op_array_analyze1()
776 && ssa->cfg.blocks in zend_jit_op_array_analyze2()
1032 zend_basic_block *b = ssa->cfg.blocks + n; in zend_jit_compute_block_order_int()
1040 b = ssa->cfg.blocks + n; in zend_jit_compute_block_order_int()
1064 b = ssa->cfg.blocks + b->loop_header; in zend_jit_in_loop()
1071 zend_basic_block *b = ssa->cfg.blocks + n; in zend_jit_compute_loop_body()
1083 b = ssa->cfg.blocks + n; in zend_jit_compute_loop_body()
1159 b = ssa->cfg.blocks + i; in zend_jit_compute_liveness()
1169 for (phi = ssa->blocks[succ].phis; phi; phi = phi->next) { in zend_jit_compute_liveness()
1180 for (k = 0; k < ssa->cfg.blocks[succ].predecessors_count; k++) { in zend_jit_compute_liveness()
1181 if (ssa->cfg.predecessors[ssa->cfg.blocks[succ].predecessor_offset + k] == i) { in zend_jit_compute_liveness()
1269 for (phi = ssa->blocks[i].phis; phi; phi = phi->next) { in zend_jit_compute_liveness()
1278 zend_basic_block *b = ssa->cfg.blocks + i; in zend_jit_compute_liveness()
1325 for (k = 0; k < ssa->cfg.blocks[phi->block].predecessors_count; k++) { in zend_jit_compute_liveness()
1963 for (k = 0; k < ssa->cfg.blocks[phi->block].predecessors_count; k++) { in zend_jit_allocate_registers()
1987 for (k = 0; k < ssa->cfg.blocks[phi->block].predecessors_count; k++) { in zend_jit_allocate_registers()
2143 if (ssa->cfg.blocks[b].flags & ZEND_BB_REACHABLE && in zend_jit()
2144 ssa->cfg.blocks[b].len > 1) { in zend_jit()
2146 opline = op_array->opcodes + ssa->cfg.blocks[b].start + ssa->cfg.blocks[b].len - 1; in zend_jit()
2149 ssa->cfg.blocks[ssa->cfg.blocks[b].successors[0]].flags |= ZEND_BB_TARGET; in zend_jit()
2162 if ((ssa->cfg.blocks[b].flags & ZEND_BB_REACHABLE) == 0) { in zend_jit()
2166 if (ssa->cfg.blocks[b].flags & ZEND_BB_ENTRY) { in zend_jit()
2167 if (ssa->cfg.blocks[b].flags & ZEND_BB_TARGET) { in zend_jit()
2170 ssa->cfg.blocks[b].len == 1 && in zend_jit()
2171 (ssa->cfg.blocks[b].flags & ZEND_BB_EXIT) && in zend_jit()
2172 op_array->opcodes[ssa->cfg.blocks[b].start].opcode != ZEND_JMP) { in zend_jit()
2176 if (ssa->cfg.blocks[b].flags & ZEND_BB_FOLLOW) { in zend_jit()
2185 if (ssa->cfg.blocks[b].flags & (ZEND_BB_START|ZEND_BB_RECV_ENTRY)) { in zend_jit()
2186 opline = op_array->opcodes + ssa->cfg.blocks[b].start; in zend_jit()
2232 ssa->cfg.blocks[b].len == 1 && in zend_jit()
2233 (ssa->cfg.blocks[b].flags & ZEND_BB_EXIT)) { in zend_jit()
2247 ssa->cfg.blocks[b].len == 1 && in zend_jit()
2248 (ssa->cfg.blocks[b].flags & ZEND_BB_EXIT)) { in zend_jit()
2266 if ((ssa->cfg.blocks[b].flags & ZEND_BB_FOLLOW) in zend_jit()
2267 && ssa->cfg.blocks[b].start != 0 in zend_jit()
2268 && (op_array->opcodes[ssa->cfg.blocks[b].start - 1].opcode == ZEND_NOP in zend_jit()
2269 || op_array->opcodes[ssa->cfg.blocks[b].start - 1].opcode == ZEND_SWITCH_LONG in zend_jit()
2270 || op_array->opcodes[ssa->cfg.blocks[b].start - 1].opcode == ZEND_SWITCH_STRING in zend_jit()
2271 || op_array->opcodes[ssa->cfg.blocks[b].start - 1].opcode == ZEND_MATCH)) { in zend_jit()
2273 if (!zend_jit_set_ip(&dasm_state, op_array->opcodes + ssa->cfg.blocks[b].start)) { in zend_jit()
2277 zend_jit_set_last_valid_opline(op_array->opcodes + ssa->cfg.blocks[b].start); in zend_jit()
2279 } else if (ssa->cfg.blocks[b].flags & ZEND_BB_TARGET) { in zend_jit()
2281 } else if (ssa->cfg.blocks[b].flags & (ZEND_BB_START|ZEND_BB_RECV_ENTRY|ZEND_BB_ENTRY)) { in zend_jit()
2282 zend_jit_set_last_valid_opline(op_array->opcodes + ssa->cfg.blocks[b].start); in zend_jit()
2284 if (ssa->cfg.blocks[b].flags & ZEND_BB_LOOP_HEADER) { in zend_jit()
2285 if (!zend_jit_check_timeout(&dasm_state, op_array->opcodes + ssa->cfg.blocks[b].start, NULL)) { in zend_jit()
2289 if (!ssa->cfg.blocks[b].len) { in zend_jit()
2293 zend_ssa_phi *phi = ssa->blocks[b].phis; in zend_jit()
2316 end = ssa->cfg.blocks[b].start + ssa->cfg.blocks[b].len - 1; in zend_jit()
2317 for (i = ssa->cfg.blocks[b].start; i <= end; i++) { in zend_jit()
2886 target_label = ssa->cfg.blocks[b].successors[0]; in zend_jit()
2887 target_label2 = ssa->cfg.blocks[b].successors[1]; in zend_jit()
2920 target_label = ssa->cfg.blocks[b].successors[0]; in zend_jit()
2921 target_label2 = ssa->cfg.blocks[b].successors[1]; in zend_jit()
2946 target_label = ssa->cfg.blocks[b].successors[0]; in zend_jit()
2947 target_label2 = ssa->cfg.blocks[b].successors[1]; in zend_jit()
2970 target_label = ssa->cfg.blocks[b].successors[0]; in zend_jit()
2971 target_label2 = ssa->cfg.blocks[b].successors[1]; in zend_jit()
3042 if (opline > op_array->opcodes + ssa->cfg.blocks[b].start && in zend_jit()
3045 if (!zend_jit_cond_jmp(&dasm_state, opline + 1, ssa->cfg.blocks[b].successors[0])) { in zend_jit()
3061 ssa->cfg.blocks[b].successors[0], ssa->cfg.blocks[b].successors[1], in zend_jit()
3081 target_label = ssa->cfg.blocks[b].successors[0]; in zend_jit()
3082 target_label2 = ssa->cfg.blocks[b].successors[1]; in zend_jit()
3111 target_label = ssa->cfg.blocks[b].successors[0]; in zend_jit()
3112 target_label2 = ssa->cfg.blocks[b].successors[1]; in zend_jit()
3171 target_label = ssa->cfg.blocks[b].successors[0]; in zend_jit()
3172 target_label2 = ssa->cfg.blocks[b].successors[1]; in zend_jit()
3319 ssa->cfg.blocks[b].successors[0], opline->opcode, NULL)) { in zend_jit()
3395 if (!zend_jit_jmp(&dasm_state, ssa->cfg.blocks[b].successors[0])) { in zend_jit()
3430 …!zend_jit_cond_jmp(&dasm_state, OP_JMP_ADDR(opline, opline->op2), ssa->cfg.blocks[b].successors[1]… in zend_jit()
3431 !zend_jit_jmp(&dasm_state, ssa->cfg.blocks[b].successors[0])) { in zend_jit()
3438 if (opline > op_array->opcodes + ssa->cfg.blocks[b].start && in zend_jit()
3441 if (!zend_jit_cond_jmp(&dasm_state, opline + 1, ssa->cfg.blocks[b].successors[0])) { in zend_jit()
3459 !zend_jit_cond_jmp(&dasm_state, opline + 1, ssa->cfg.blocks[b].successors[0])) { in zend_jit()
3492 zend_jit_cond_jmp(&dasm_state, next_opline, ssa->cfg.blocks[b].successors[0]); in zend_jit()
3510 if (!zend_jit_cond_jmp(&dasm_state, opline + 2, ssa->cfg.blocks[b+1].successors[0])) { in zend_jit()
3513 if (!zend_jit_jmp(&dasm_state, ssa->cfg.blocks[b+1].successors[1])) { in zend_jit()
3771 if ((cfg->blocks[i].flags & ZEND_BB_REACHABLE) && in zend_jit_setup_hot_counters_ex()
3772 (cfg->blocks[i].flags & ZEND_BB_LOOP_HEADER)) { in zend_jit_setup_hot_counters_ex()
3773 op_array->opcodes[cfg->blocks[i].start].handler = in zend_jit_setup_hot_counters_ex()