Lines Matching refs:sccp
2377 static void sccp_context_init(zend_optimizer_ctx *ctx, sccp_ctx *sccp, in sccp_context_init() argument
2380 sccp->call_map = call_map; in sccp_context_init()
2381 sccp->values = zend_arena_alloc(&ctx->arena, sizeof(zval) * ssa->vars_count); in sccp_context_init()
2383 MAKE_TOP(&sccp->top); in sccp_context_init()
2384 MAKE_BOT(&sccp->bot); in sccp_context_init()
2390 MAKE_BOT(&sccp->values[i]); in sccp_context_init()
2394 MAKE_BOT(&sccp->values[i]); in sccp_context_init()
2396 MAKE_TOP(&sccp->values[i]); in sccp_context_init()
2401 static void sccp_context_free(sccp_ctx *sccp) { in sccp_context_free() argument
2403 for (i = sccp->scdf.op_array->last_var; i < sccp->scdf.ssa->vars_count; ++i) { in sccp_context_free()
2404 zval_ptr_dtor_nogc(&sccp->values[i]); in sccp_context_free()
2410 sccp_ctx sccp; in sccp_optimize_op_array() local
2414 sccp_context_init(ctx, &sccp, ssa, op_array, call_map); in sccp_optimize_op_array()
2416 sccp.scdf.handlers.visit_instr = sccp_visit_instr; in sccp_optimize_op_array()
2417 sccp.scdf.handlers.visit_phi = sccp_visit_phi; in sccp_optimize_op_array()
2418 sccp.scdf.handlers.mark_feasible_successors = sccp_mark_feasible_successors; in sccp_optimize_op_array()
2420 scdf_init(ctx, &sccp.scdf, op_array, ssa); in sccp_optimize_op_array()
2421 scdf_solve(&sccp.scdf, "SCCP"); in sccp_optimize_op_array()
2427 zval *zv = &sccp.values[i]; in sccp_optimize_op_array()
2446 removed_ops += scdf_remove_unreachable_blocks(&sccp.scdf); in sccp_optimize_op_array()
2447 removed_ops += replace_constant_operands(&sccp); in sccp_optimize_op_array()
2449 sccp_context_free(&sccp); in sccp_optimize_op_array()