Lines Matching refs:block
114 if (zend_bitset_in(scdf->executable_blocks, phi->block)) { in scdf_solve()
122 zend_basic_block *block = &ssa->cfg.blocks[block_num]; in scdf_solve() local
130 if (i == block->start + block->len - 1) { in scdf_solve()
131 if (block->successors_count == 1) { in scdf_solve()
132 scdf_mark_edge_feasible(scdf, block_num, block->successors[0]); in scdf_solve()
133 } else if (block->successors_count > 1) { in scdf_solve()
134 scdf->handlers.mark_feasible_successors(scdf, block_num, block, opline, ssa_op); in scdf_solve()
142 zend_basic_block *block = &ssa->cfg.blocks[i]; in scdf_solve() local
156 if (block->len == 0) { in scdf_solve()
158 scdf_mark_edge_feasible(scdf, i, block->successors[0]); in scdf_solve()
161 int j, end = block->start + block->len; in scdf_solve()
162 for (j = block->start; j < end; j++) { in scdf_solve()
169 if (block->successors_count == 1) { in scdf_solve()
170 scdf_mark_edge_feasible(scdf, i, block->successors[0]); in scdf_solve()
171 } else if (block->successors_count > 1) { in scdf_solve()
177 scdf->handlers.mark_feasible_successors(scdf, i, block, opline, &ssa->ops[j-1]); in scdf_solve()
203 def_block = ssa_var->definition_phi->block; in is_live_loop_var_free()
208 static bool kept_alive_by_loop_var_free(scdf_ctx *scdf, const zend_basic_block *block) { in kept_alive_by_loop_var_free() argument
215 for (uint32_t i = block->start; i < block->start + block->len; i++) { in kept_alive_by_loop_var_free()
223 static uint32_t cleanup_loop_var_free_block(scdf_ctx *scdf, zend_basic_block *block) { in cleanup_loop_var_free_block() argument
227 int block_num = block - cfg->blocks; in cleanup_loop_var_free_block()
236 for (uint32_t i = block->start; i < block->start + block->len; i++) { in cleanup_loop_var_free_block()
264 zend_basic_block *block = &ssa->cfg.blocks[i]; in scdf_remove_unreachable_blocks() local
265 if (!zend_bitset_in(scdf->executable_blocks, i) && (block->flags & ZEND_BB_REACHABLE)) { in scdf_remove_unreachable_blocks()
266 if (!kept_alive_by_loop_var_free(scdf, block)) { in scdf_remove_unreachable_blocks()
267 removed_ops += block->len; in scdf_remove_unreachable_blocks()
270 removed_ops += cleanup_loop_var_free_block(scdf, block); in scdf_remove_unreachable_blocks()