Lines Matching refs:ssa

159 	zend_dump_var(scdf->op_array, IS_CV, scdf->ssa->vars[var].var);  in set_value()
329 zend_ssa_unlink_use_chain(ctx->scdf.ssa, ssa_op - ctx->scdf.ssa->ops, ssa_op->op2_use); in try_replace_op1()
358 zend_ssa_unlink_use_chain(ctx->scdf.ssa, next_op - ctx->scdf.ssa->ops, next_op->op2_use); in try_replace_op2()
361 zend_ssa_remove_result_def(ctx->scdf.ssa, ssa_op); in try_replace_op2()
1002 if (IS_BOT(op1) && (ctx->scdf.ssa->var_info[ssa_op->op1_use].type & MAY_BE_REF)) { in sccp_visit_instr()
1014 uint32_t type = ctx->scdf.ssa->var_info[ssa_op->op1_use].type; in sccp_visit_instr()
1033 if ((ctx->scdf.ssa->var_info[ssa_op->op1_use].type & MAY_BE_ANY) == 0) { in sccp_visit_instr()
1122 && ctx->scdf.ssa->vars[ssa_op->op1_def].escape_state == ESCAPE_STATE_NO_ESCAPE) { in sccp_visit_instr()
1124 zend_ssa_var_info *var_info = &ctx->scdf.ssa->var_info[ssa_op->op1_use]; in sccp_visit_instr()
1216 ssa_op = &ctx->scdf.ssa->ops[opline - ctx->scdf.op_array->opcodes]; in sccp_visit_instr()
1345 && ctx->scdf.ssa->vars[ssa_op->result_def].escape_state == ESCAPE_STATE_NO_ESCAPE) { in sccp_visit_instr()
1472 && ctx->scdf.ssa->vars[ssa_op->op1_def].escape_state == ESCAPE_STATE_NO_ESCAPE) { in sccp_visit_instr()
1523 && ctx->scdf.ssa->vars[ssa_op->op1_def].escape_state == ESCAPE_STATE_NO_ESCAPE) { in sccp_visit_instr()
1819 &ctx->scdf.ssa->ops[opline - ctx->scdf.op_array->opcodes]); in sccp_visit_instr()
1956 zend_ssa *ssa = scdf->ssa; in sccp_mark_feasible_successors() local
1964 target = ssa->cfg.map[ZEND_OFFSET_TO_OPLINE_NUM(op_array, opline, Z_LVAL_P(jmp_zv))]; in sccp_mark_feasible_successors()
1966 target = ssa->cfg.map[ZEND_OFFSET_TO_OPLINE_NUM(op_array, opline, opline->extended_value)]; in sccp_mark_feasible_successors()
1972 zend_ssa *ssa = scdf->ssa; in sccp_mark_feasible_successors() local
1973 int target = ssa->cfg.map[ZEND_OFFSET_TO_OPLINE_NUM(op_array, opline, opline->extended_value)]; in sccp_mark_feasible_successors()
2079 zend_ssa *ssa = scdf->ssa; in sccp_visit_phi() local
2082 zend_basic_block *block = &ssa->cfg.blocks[phi->block]; in sccp_visit_phi()
2083 int *predecessors = &ssa->cfg.predecessors[block->predecessor_offset]; in sccp_visit_phi()
2094 …join_phi_values(&result, &ctx->values[phi->sources[0]], ssa->vars[phi->ssa_var].escape_state != ES… in sccp_visit_phi()
2104 …join_phi_values(&result, &ctx->values[phi->sources[i]], ssa->vars[phi->ssa_var].escape_state != ES… in sccp_visit_phi()
2122 zend_ssa *ssa = ctx->scdf.ssa; in value_from_type_and_range() local
2123 zend_ssa_var_info *info = &ssa->var_info[var_num]; in value_from_type_and_range()
2162 zend_ssa *ssa = ctx->scdf.ssa; in remove_call() local
2171 zend_ssa_remove_instr(ssa, opline, ssa_op); in remove_call()
2172 zend_ssa_remove_instr(ssa, call->caller_init_opline, in remove_call()
2173 &ssa->ops[call->caller_init_opline - op_array->opcodes]); in remove_call()
2176 zend_ssa_remove_instr(ssa, call->arg_info[i].opline, in remove_call()
2177 &ssa->ops[call->arg_info[i].opline - op_array->opcodes]); in remove_call()
2201 zend_ssa *ssa = ctx->scdf.ssa; in try_remove_definition() local
2207 zend_ssa_op *ssa_op = &ssa->ops[var->definition]; in try_remove_definition()
2214 zend_ssa_remove_result_def(ssa, ssa_op); in try_remove_definition()
2245 zend_ssa_remove_result_def(ssa, ssa_op); in try_remove_definition()
2283 zend_ssa_remove_instr(ssa, opline, ssa_op); in try_remove_definition()
2304 zend_ssa_remove_result_def(ssa, ssa_op); in try_remove_definition()
2315 zend_ssa_remove_result_def(ssa, ssa_op); in try_remove_definition()
2319 zend_ssa_remove_instr(ssa, opline, ssa_op); in try_remove_definition()
2360 if (zend_may_throw(opline, ssa_op, op_array, ssa)) { in try_remove_definition()
2369 if (ssa->vars[ssa_op->result_def].use_chain < 0 in try_remove_definition()
2370 && ssa->vars[ssa_op->result_def].phi_use_chain == NULL) { in try_remove_definition()
2371 zend_ssa_remove_result_def(ssa, ssa_op); in try_remove_definition()
2385 zend_ssa_unlink_use_chain(ssa, var->definition, ssa_op->op2_use); in try_remove_definition()
2396 zend_ssa_remove_instr(ssa, opline + 1, ssa_op + 1); in try_remove_definition()
2402 zend_ssa_remove_instr(ssa, opline + 1, ssa_op + 1); in try_remove_definition()
2418 zend_ssa_rename_var_uses(ssa, ssa_op->op1_def, ssa_op->op1_use, 1); in try_remove_definition()
2420 zend_ssa_remove_op1_def(ssa, ssa_op); in try_remove_definition()
2421 zend_ssa_remove_instr(ssa, opline, ssa_op); in try_remove_definition()
2427 zend_ssa_remove_phi(ssa, var->definition_phi); in try_remove_definition()
2436 zend_ssa *ssa = ctx->scdf.ssa; in replace_constant_operands() local
2444 for (i = ssa->vars_count - 1; i >= op_array->last_var; i--) { in replace_constant_operands()
2445 zend_ssa_var *var = &ssa->vars[i]; in replace_constant_operands()
2470 zend_ssa_op *ssa_op = &ssa->ops[use]; in replace_constant_operands()
2477 zend_ssa_unlink_use_chain(ssa, use, ssa_op->op1_use); in replace_constant_operands()
2487 zend_ssa_unlink_use_chain(ssa, use, ssa_op->op2_use); in replace_constant_operands()
2503 zend_ssa *ssa, zend_op_array *op_array, zend_call_info **call_map) { in sccp_context_init() argument
2506 sccp->values = zend_arena_alloc(&ctx->arena, sizeof(zval) * ssa->vars_count); in sccp_context_init()
2517 for (; i < ssa->vars_count; ++i) { in sccp_context_init()
2518 if (ssa->vars[i].alias) { in sccp_context_init()
2528 for (i = sccp->scdf.op_array->last_var; i < sccp->scdf.ssa->vars_count; ++i) { in sccp_context_free()
2533 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
2539 sccp_context_init(ctx, &sccp, ssa, op_array, call_map); in sccp_optimize_op_array()
2545 scdf_init(ctx, &sccp.scdf, op_array, ssa); in sccp_optimize_op_array()
2551 for (i = op_array->last_var; i < ssa->vars_count; i++) { in sccp_optimize_op_array()
2564 zend_dump_var(op_array, IS_CV, ssa->vars[i].var); in sccp_optimize_op_array()