Lines Matching refs:ssa

246 						num = ctx->scdf.ssa->cfg.map[opline - ctx->scdf.op_array->opcodes];  in try_replace_op1()
247 block = &ctx->scdf.ssa->cfg.blocks[num]; in try_replace_op1()
250 zend_ssa_remove_predecessor(ctx->scdf.ssa, num, block->successors[0]); in try_replace_op1()
258 num = ctx->scdf.ssa->cfg.map[opline - ctx->scdf.op_array->opcodes]; in try_replace_op1()
259 block = &ctx->scdf.ssa->cfg.blocks[num]; in try_replace_op1()
262 zend_ssa_remove_predecessor(ctx->scdf.ssa, num, block->successors[1]); in try_replace_op1()
272 num = ctx->scdf.ssa->cfg.map[opline - ctx->scdf.op_array->opcodes]; in try_replace_op1()
273 block = &ctx->scdf.ssa->cfg.blocks[num]; in try_replace_op1()
276 zend_ssa_remove_predecessor(ctx->scdf.ssa, num, block->successors[1]); in try_replace_op1()
282 num = ctx->scdf.ssa->cfg.map[opline - ctx->scdf.op_array->opcodes]; in try_replace_op1()
283 block = &ctx->scdf.ssa->cfg.blocks[num]; in try_replace_op1()
286 zend_ssa_remove_predecessor(ctx->scdf.ssa, num, block->successors[0]); in try_replace_op1()
297 num = ctx->scdf.ssa->cfg.map[opline - ctx->scdf.op_array->opcodes]; in try_replace_op1()
298 block = &ctx->scdf.ssa->cfg.blocks[num]; in try_replace_op1()
301 zend_ssa_remove_predecessor(ctx->scdf.ssa, num, block->successors[0]); in try_replace_op1()
309 num = ctx->scdf.ssa->cfg.map[opline - ctx->scdf.op_array->opcodes]; in try_replace_op1()
310 block = &ctx->scdf.ssa->cfg.blocks[num]; in try_replace_op1()
313 zend_ssa_remove_predecessor(ctx->scdf.ssa, num, block->successors[1]); in try_replace_op1()
881 if (IS_BOT(op1) && (ctx->scdf.ssa->var_info[ssa_op->op1_use].type & MAY_BE_REF)) { in sccp_visit_instr()
893 uint32_t type = ctx->scdf.ssa->var_info[ssa_op->op1_use].type; in sccp_visit_instr()
910 if ((ctx->scdf.ssa->var_info[ssa_op->op1_use].type & MAY_BE_ANY) == 0) { in sccp_visit_instr()
930 ssa_op = &ctx->scdf.ssa->ops[opline - ctx->scdf.op_array->opcodes]; in sccp_visit_instr()
1271 &ctx->scdf.ssa->ops[opline - ctx->scdf.op_array->opcodes]); in sccp_visit_instr()
1403 zend_ssa *ssa = scdf->ssa; in sccp_visit_phi() local
1406 zend_basic_block *block = &ssa->cfg.blocks[phi->block]; in sccp_visit_phi()
1407 int *predecessors = &ssa->cfg.predecessors[block->predecessor_offset]; in sccp_visit_phi()
1437 zend_ssa *ssa = ctx->scdf.ssa; in value_from_type_and_range() local
1438 zend_ssa_var_info *info = &ssa->var_info[var_num]; in value_from_type_and_range()
1440 if (ssa->vars[var_num].var >= ctx->scdf.op_array->last_var) { in value_from_type_and_range()
1477 zend_ssa *ssa = ctx->scdf.ssa; in replace_constant_operands() local
1485 for (i = ssa->vars_count - 1; i >= op_array->last_var; i--) { in replace_constant_operands()
1486 zend_ssa_var *var = &ssa->vars[i]; in replace_constant_operands()
1501 zend_ssa_op *ssa_op = &ssa->ops[use]; in replace_constant_operands()
1508 zend_ssa_unlink_use_chain(ssa, use, ssa_op->op1_use); in replace_constant_operands()
1518 zend_ssa_unlink_use_chain(ssa, use, ssa_op->op2_use); in replace_constant_operands()
1539 zend_ssa_op *ssa_op = &ssa->ops[var->definition]; in replace_constant_operands()
1562 zend_ssa_remove_result_def(ssa, ssa_op); in replace_constant_operands()
1563 zend_ssa_remove_instr(ssa, opline, ssa_op); in replace_constant_operands()
1564 zend_ssa_remove_instr(ssa, call->caller_init_opline, in replace_constant_operands()
1565 &ssa->ops[call->caller_init_opline - op_array->opcodes]); in replace_constant_operands()
1568 zend_ssa_remove_instr(ssa, call->arg_info[i].opline, in replace_constant_operands()
1569 &ssa->ops[call->arg_info[i].opline - op_array->opcodes]); in replace_constant_operands()
1580 zend_ssa_remove_result_def(ssa, ssa_op); in replace_constant_operands()
1581 zend_ssa_remove_instr(ssa, opline, ssa_op); in replace_constant_operands()
1586 (ssa->vars[ssa_op->result_def].use_chain < 0 && in replace_constant_operands()
1587 ssa->vars[ssa_op->result_def].phi_use_chain == NULL))) { in replace_constant_operands()
1595 zend_ssa_unlink_use_chain(ssa, var->definition, ssa_op->op2_use); in replace_constant_operands()
1606 zend_ssa_remove_result_def(ssa, ssa_op); in replace_constant_operands()
1613 zend_ssa_remove_instr(ssa, opline + 1, ssa_op + 1); in replace_constant_operands()
1627 zend_ssa_remove_phi(ssa, var->definition_phi); in replace_constant_operands()
1635 zend_ssa *ssa, zend_op_array *op_array, zend_call_info **call_map) { in sccp_context_init() argument
1638 sccp->values = zend_arena_alloc(&ctx->arena, sizeof(zval) * ssa->vars_count); in sccp_context_init()
1649 for (; i < ssa->vars_count; ++i) { in sccp_context_init()
1650 if (ssa->vars[i].alias) { in sccp_context_init()
1660 for (i = sccp->scdf.op_array->last_var; i < sccp->scdf.ssa->vars_count; ++i) { in sccp_context_free()
1665 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
1671 sccp_context_init(ctx, &sccp, ssa, op_array, call_map); in sccp_optimize_op_array()
1677 scdf_init(ctx, &sccp.scdf, op_array, ssa); in sccp_optimize_op_array()