Lines Matching refs:ssa

158 	zend_dump_var(scdf->op_array, IS_CV, scdf->ssa->vars[var].var);  in set_value()
322 zend_ssa_unlink_use_chain(ctx->scdf.ssa, ssa_op - ctx->scdf.ssa->ops, ssa_op->op2_use); in try_replace_op1()
351 zend_ssa_unlink_use_chain(ctx->scdf.ssa, next_op - ctx->scdf.ssa->ops, next_op->op2_use); in try_replace_op2()
354 zend_ssa_remove_result_def(ctx->scdf.ssa, ssa_op); in try_replace_op2()
1078 if (IS_BOT(op1) && (ctx->scdf.ssa->var_info[ssa_op->op1_use].type & MAY_BE_REF)) { in sccp_visit_instr()
1090 uint32_t type = ctx->scdf.ssa->var_info[ssa_op->op1_use].type; in sccp_visit_instr()
1109 if ((ctx->scdf.ssa->var_info[ssa_op->op1_use].type & MAY_BE_ANY) == 0) { in sccp_visit_instr()
1198 && ctx->scdf.ssa->vars[ssa_op->op1_def].escape_state == ESCAPE_STATE_NO_ESCAPE) { in sccp_visit_instr()
1200 zend_ssa_var_info *var_info = &ctx->scdf.ssa->var_info[ssa_op->op1_use]; in sccp_visit_instr()
1297 ssa_op = &ctx->scdf.ssa->ops[opline - ctx->scdf.op_array->opcodes]; in sccp_visit_instr()
1426 && ctx->scdf.ssa->vars[ssa_op->result_def].escape_state == ESCAPE_STATE_NO_ESCAPE) { in sccp_visit_instr()
1552 && ctx->scdf.ssa->vars[ssa_op->op1_def].escape_state == ESCAPE_STATE_NO_ESCAPE) { in sccp_visit_instr()
1603 && ctx->scdf.ssa->vars[ssa_op->op1_def].escape_state == ESCAPE_STATE_NO_ESCAPE) { in sccp_visit_instr()
1872 &ctx->scdf.ssa->ops[opline - ctx->scdf.op_array->opcodes]); in sccp_visit_instr()
1996 zend_ssa *ssa = scdf->ssa; in sccp_mark_feasible_successors() local
2002 target = ssa->cfg.map[ZEND_OFFSET_TO_OPLINE_NUM(op_array, opline, Z_LVAL_P(jmp_zv))]; in sccp_mark_feasible_successors()
2004 target = ssa->cfg.map[ZEND_OFFSET_TO_OPLINE_NUM(op_array, opline, opline->extended_value)]; in sccp_mark_feasible_successors()
2014 zend_ssa *ssa = scdf->ssa; in sccp_mark_feasible_successors() local
2020 target = ssa->cfg.map[ZEND_OFFSET_TO_OPLINE_NUM(op_array, opline, Z_LVAL_P(jmp_zv))]; in sccp_mark_feasible_successors()
2022 target = ssa->cfg.map[ZEND_OFFSET_TO_OPLINE_NUM(op_array, opline, opline->extended_value)]; in sccp_mark_feasible_successors()
2128 zend_ssa *ssa = scdf->ssa; in sccp_visit_phi() local
2131 zend_basic_block *block = &ssa->cfg.blocks[phi->block]; in sccp_visit_phi()
2132 int *predecessors = &ssa->cfg.predecessors[block->predecessor_offset]; in sccp_visit_phi()
2143 …join_phi_values(&result, &ctx->values[phi->sources[0]], ssa->vars[phi->ssa_var].escape_state != ES… in sccp_visit_phi()
2153 …join_phi_values(&result, &ctx->values[phi->sources[i]], ssa->vars[phi->ssa_var].escape_state != ES… in sccp_visit_phi()
2171 zend_ssa *ssa = ctx->scdf.ssa; in value_from_type_and_range() local
2172 zend_ssa_var_info *info = &ssa->var_info[var_num]; in value_from_type_and_range()
2174 if (ssa->vars[var_num].var >= ctx->scdf.op_array->last_var) { in value_from_type_and_range()
2213 zend_ssa *ssa = ctx->scdf.ssa; in remove_call() local
2222 zend_ssa_remove_instr(ssa, opline, ssa_op); in remove_call()
2223 zend_ssa_remove_instr(ssa, call->caller_init_opline, in remove_call()
2224 &ssa->ops[call->caller_init_opline - op_array->opcodes]); in remove_call()
2227 zend_ssa_remove_instr(ssa, call->arg_info[i].opline, in remove_call()
2228 &ssa->ops[call->arg_info[i].opline - op_array->opcodes]); in remove_call()
2252 zend_ssa *ssa = ctx->scdf.ssa; in try_remove_definition() local
2258 zend_ssa_op *ssa_op = &ssa->ops[var->definition]; in try_remove_definition()
2299 zend_ssa_remove_instr(ssa, opline, ssa_op); in try_remove_definition()
2310 zend_ssa_remove_result_def(ssa, ssa_op); in try_remove_definition()
2323 zend_ssa_remove_instr(ssa, opline, ssa_op); in try_remove_definition()
2353 if (zend_may_throw(opline, op_array, ssa)) { in try_remove_definition()
2362 if (ssa->vars[ssa_op->result_def].use_chain < 0 in try_remove_definition()
2363 && ssa->vars[ssa_op->result_def].phi_use_chain == NULL) { in try_remove_definition()
2364 zend_ssa_remove_result_def(ssa, ssa_op); in try_remove_definition()
2378 zend_ssa_unlink_use_chain(ssa, var->definition, ssa_op->op2_use); in try_remove_definition()
2389 zend_ssa_remove_instr(ssa, opline + 1, ssa_op + 1); in try_remove_definition()
2395 zend_ssa_remove_instr(ssa, opline + 1, ssa_op + 1); in try_remove_definition()
2411 zend_ssa_rename_var_uses(ssa, ssa_op->op1_def, ssa_op->op1_use, 1); in try_remove_definition()
2413 zend_ssa_remove_op1_def(ssa, ssa_op); in try_remove_definition()
2414 zend_ssa_remove_instr(ssa, opline, ssa_op); in try_remove_definition()
2420 zend_ssa_remove_phi(ssa, var->definition_phi); in try_remove_definition()
2429 zend_ssa *ssa = ctx->scdf.ssa; in replace_constant_operands() local
2437 for (i = ssa->vars_count - 1; i >= op_array->last_var; i--) { in replace_constant_operands()
2438 zend_ssa_var *var = &ssa->vars[i]; in replace_constant_operands()
2463 zend_ssa_op *ssa_op = &ssa->ops[use]; in replace_constant_operands()
2470 zend_ssa_unlink_use_chain(ssa, use, ssa_op->op1_use); in replace_constant_operands()
2480 zend_ssa_unlink_use_chain(ssa, use, ssa_op->op2_use); in replace_constant_operands()
2496 zend_ssa *ssa, zend_op_array *op_array, zend_call_info **call_map) { in sccp_context_init() argument
2499 sccp->values = zend_arena_alloc(&ctx->arena, sizeof(zval) * ssa->vars_count); in sccp_context_init()
2510 for (; i < ssa->vars_count; ++i) { in sccp_context_init()
2511 if (ssa->vars[i].alias) { in sccp_context_init()
2521 for (i = sccp->scdf.op_array->last_var; i < sccp->scdf.ssa->vars_count; ++i) { in sccp_context_free()
2526 int sccp_optimize_op_array(zend_optimizer_ctx *ctx, zend_op_array *op_array, zend_ssa *ssa, zend_ca… in sccp_optimize_op_array() argument
2532 sccp_context_init(ctx, &sccp, ssa, op_array, call_map); in sccp_optimize_op_array()
2538 scdf_init(ctx, &sccp.scdf, op_array, ssa); in sccp_optimize_op_array()
2544 for (i = op_array->last_var; i < ssa->vars_count; i++) { in sccp_optimize_op_array()
2557 zend_dump_var(op_array, IS_CV, ssa->vars[i].var); in sccp_optimize_op_array()