Lines Matching refs:ssa

303 static void zend_dump_ssa_var_info(const zend_ssa *ssa, int ssa_var_num, uint32_t dump_flags)  in zend_dump_ssa_var_info()  argument
306 ssa->var_info[ssa_var_num].type, in zend_dump_ssa_var_info()
307 ssa->var_info[ssa_var_num].ce, in zend_dump_ssa_var_info()
308 ssa->var_info[ssa_var_num].ce ? in zend_dump_ssa_var_info()
309 ssa->var_info[ssa_var_num].is_instanceof : 0, in zend_dump_ssa_var_info()
313 static void zend_dump_ssa_var(const zend_op_array *op_array, const zend_ssa *ssa, int ssa_var_num, … in zend_dump_ssa_var() argument
322 if (ssa_var_num >= 0 && ssa->vars) { in zend_dump_ssa_var()
323 if (ssa_var_num >= 0 && ssa->vars[ssa_var_num].no_val) { in zend_dump_ssa_var()
326 if (ssa->var_info) { in zend_dump_ssa_var()
327 zend_dump_ssa_var_info(ssa, ssa_var_num, dump_flags); in zend_dump_ssa_var()
328 if (ssa->var_info[ssa_var_num].has_range) { in zend_dump_ssa_var()
329 zend_dump_range(&ssa->var_info[ssa_var_num].range); in zend_dump_ssa_var()
335 static void zend_dump_type_constraint(const zend_op_array *op_array, const zend_ssa *ssa, const zen… in zend_dump_type_constraint() argument
341 static void zend_dump_range_constraint(const zend_op_array *op_array, const zend_ssa *ssa, const ze… in zend_dump_range_constraint() argument
355 …zend_dump_ssa_var(op_array, ssa, r->min_ssa_var, (r->min_var < op_array->last_var ? IS_CV : 0), r-… in zend_dump_range_constraint()
370 …zend_dump_ssa_var(op_array, ssa, r->max_ssa_var, (r->max_var < op_array->last_var ? IS_CV : 0), r-… in zend_dump_range_constraint()
389 const zend_ssa *ssa = NULL; in zend_dump_op() local
392 ssa = (const zend_ssa*)data; in zend_dump_op()
400 if (!ssa || !ssa->ops || ssa->ops[opline - op_array->opcodes].result_use < 0) { in zend_dump_op()
402 if (ssa && ssa->ops && ssa->ops[opline - op_array->opcodes].result_def >= 0) { in zend_dump_op()
403 int ssa_var_num = ssa->ops[opline - op_array->opcodes].result_def; in zend_dump_op()
404 …zend_dump_ssa_var(op_array, ssa, ssa_var_num, opline->result_type, EX_VAR_TO_NUM(opline->result.va… in zend_dump_op()
550 if (ssa && ssa->ops) { in zend_dump_op()
551 int ssa_var_num = ssa->ops[opline - op_array->opcodes].op1_use; in zend_dump_op()
554 …zend_dump_ssa_var(op_array, ssa, ssa_var_num, opline->op1_type, EX_VAR_TO_NUM(opline->op1.var), du… in zend_dump_op()
555 } else if (ssa->ops[opline - op_array->opcodes].op1_def < 0) { in zend_dump_op()
563 if (ssa && ssa->ops) { in zend_dump_op()
564 int ssa_var_num = ssa->ops[opline - op_array->opcodes].op1_def; in zend_dump_op()
567 …zend_dump_ssa_var(op_array, ssa, ssa_var_num, opline->op1_type, EX_VAR_TO_NUM(opline->op1.var), du… in zend_dump_op()
586 if (ssa && ssa->ops) { in zend_dump_op()
587 int ssa_var_num = ssa->ops[opline - op_array->opcodes].op2_use; in zend_dump_op()
590 …zend_dump_ssa_var(op_array, ssa, ssa_var_num, opline->op2_type, EX_VAR_TO_NUM(opline->op2.var), du… in zend_dump_op()
591 } else if (ssa->ops[opline - op_array->opcodes].op2_def < 0) { in zend_dump_op()
599 if (ssa && ssa->ops) { in zend_dump_op()
600 int ssa_var_num = ssa->ops[opline - op_array->opcodes].op2_def; in zend_dump_op()
603 …zend_dump_ssa_var(op_array, ssa, ssa_var_num, opline->op2_type, EX_VAR_TO_NUM(opline->op2.var), du… in zend_dump_op()
630 } else if (ssa && ssa->ops && ssa->ops[opline - op_array->opcodes].result_use >= 0) { in zend_dump_op()
632 if (ssa && ssa->ops) { in zend_dump_op()
633 int ssa_var_num = ssa->ops[opline - op_array->opcodes].result_use; in zend_dump_op()
636 …zend_dump_ssa_var(op_array, ssa, ssa_var_num, opline->result_type, EX_VAR_TO_NUM(opline->result.va… in zend_dump_op()
642 if (ssa && ssa->ops) { in zend_dump_op()
643 int ssa_var_num = ssa->ops[opline - op_array->opcodes].result_def; in zend_dump_op()
646 …zend_dump_ssa_var(op_array, ssa, ssa_var_num, opline->result_type, EX_VAR_TO_NUM(opline->result.va… in zend_dump_op()
752 …header(const zend_cfg *cfg, const zend_op_array *op_array, const zend_ssa *ssa, int n, uint32_t du… in zend_dump_block_header() argument
755 if (ssa && ssa->blocks && ssa->blocks[n].phis) { in zend_dump_block_header()
756 zend_ssa_phi *p = ssa->blocks[n].phis; in zend_dump_block_header()
762 zend_dump_ssa_var(op_array, ssa, p->ssa_var, 0, p->var, dump_flags); in zend_dump_block_header()
769 zend_dump_ssa_var(op_array, ssa, p->sources[j], 0, p->var, dump_flags); in zend_dump_block_header()
774 zend_dump_ssa_var(op_array, ssa, p->sources[0], 0, p->var, dump_flags); in zend_dump_block_header()
777 zend_dump_range_constraint(op_array, ssa, &p->constraint.range, dump_flags); in zend_dump_block_header()
779 zend_dump_type_constraint(op_array, ssa, &p->constraint.type, dump_flags); in zend_dump_block_header()
811 const zend_ssa *ssa = NULL; in zend_dump_op_array() local
822 ssa = (const zend_ssa*)data; in zend_dump_op_array()
839 if (ssa) { in zend_dump_op_array()
840 fprintf(stderr, ", ssa_vars=%d", ssa->vars_count); in zend_dump_op_array()
907 if (ssa && ssa->var_info) { in zend_dump_op_array()
910 zend_dump_ssa_var(op_array, ssa, i, IS_CV, i, dump_flags); in zend_dump_op_array()
925 zend_dump_block_header(cfg, op_array, ssa, n, dump_flags); in zend_dump_op_array()
1077 void zend_dump_ssa_variables(const zend_op_array *op_array, const zend_ssa *ssa, uint32_t dump_flag… in zend_dump_ssa_variables() argument
1081 if (ssa->vars) { in zend_dump_ssa_variables()
1086 for (j = 0; j < ssa->vars_count; j++) { in zend_dump_ssa_variables()
1088 zend_dump_ssa_var(op_array, ssa, j, IS_CV, ssa->vars[j].var, dump_flags); in zend_dump_ssa_variables()
1089 if (ssa->vars[j].scc >= 0) { in zend_dump_ssa_variables()
1090 if (ssa->vars[j].scc_entry) { in zend_dump_ssa_variables()
1095 fprintf(stderr, "SCC=%d", ssa->vars[j].scc); in zend_dump_ssa_variables()
1137 void zend_dump_phi_placement(const zend_op_array *op_array, const zend_ssa *ssa) in zend_dump_phi_placement() argument
1140 zend_ssa_block *ssa_blocks = ssa->blocks; in zend_dump_phi_placement()
1141 int blocks_count = ssa->cfg.blocks_count; in zend_dump_phi_placement()