/php-src/Zend/Optimizer/ |
H A D | zend_dfg.c | 24 uint32_t var_num; in _zend_dfg_add_use_def_op() local 29 if (!zend_bitset_in(def, var_num)) { in _zend_dfg_add_use_def_op() 30 zend_bitset_incl(use, var_num); in _zend_dfg_add_use_def_op() 39 zend_bitset_incl(use, var_num); in _zend_dfg_add_use_def_op() 47 zend_bitset_incl(use, var_num); in _zend_dfg_add_use_def_op() 75 zend_bitset_incl(use, var_num); in _zend_dfg_add_use_def_op() 78 zend_bitset_incl(def, var_num); in _zend_dfg_add_use_def_op() 90 zend_bitset_incl(use, var_num); in _zend_dfg_add_use_def_op() 93 zend_bitset_incl(def, var_num); in _zend_dfg_add_use_def_op() 105 zend_bitset_incl(use, var_num); in _zend_dfg_add_use_def_op() [all …]
|
H A D | zend_dfg.h | 38 #define DFG_SET(set, set_size, block_num, var_num) \ argument 39 zend_bitset_incl(DFG_BITSET(set, set_size, block_num), (var_num)) 41 #define DFG_ISSET(set, set_size, block_num, var_num) \ argument 42 zend_bitset_in(DFG_BITSET(set, set_size, block_num), (var_num))
|
H A D | scdf.h | 55 static inline void scdf_add_to_worklist(scdf_ctx *scdf, int var_num) { in scdf_add_to_worklist() argument 57 const zend_ssa_var *var = &ssa->vars[var_num]; in scdf_add_to_worklist() 69 static inline void scdf_add_def_to_worklist(scdf_ctx *scdf, int var_num) { in scdf_add_def_to_worklist() argument 70 const zend_ssa_var *var = &scdf->ssa->vars[var_num]; in scdf_add_def_to_worklist() 74 zend_bitset_incl(scdf->phi_var_worklist, var_num); in scdf_add_def_to_worklist()
|
H A D | dce.c | 274 zend_ssa_var *var = &ctx->ssa->vars[var_num]; in add_to_worklists() 280 if (!check || zend_bitset_in(ctx->phi_dead, var_num)) { in add_to_worklists() 281 zend_bitset_incl(ctx->phi_worklist, var_num); in add_to_worklists() 286 static inline void add_to_phi_worklist_no_val(context *ctx, int var_num) { in add_to_phi_worklist_no_val() argument 287 zend_ssa_var *var = &ctx->ssa->vars[var_num]; in add_to_phi_worklist_no_val() 288 if (var->definition_phi && zend_bitset_in(ctx->phi_dead, var_num)) { in add_to_phi_worklist_no_val() 289 zend_bitset_incl(ctx->phi_worklist_no_val, var_num); in add_to_phi_worklist_no_val() 325 static inline bool is_var_dead(context *ctx, int var_num) { in is_var_dead() argument 326 zend_ssa_var *var = &ctx->ssa->vars[var_num]; in is_var_dead() 328 return zend_bitset_in(ctx->phi_dead, var_num); in is_var_dead() [all …]
|
H A D | zend_dump.h | 43 …_array, const zend_ssa *ssa, int ssa_var_num, uint8_t var_type, uint32_t var_num, uint32_t dump_fl… 44 ZEND_API void zend_dump_var(const zend_op_array *op_array, uint8_t var_type, uint32_t var_num);
|
H A D | block_pass.c | 1413 uint32_t var_num; in zend_t_usage() local 1448 var_num = VAR_NUM(opline->op1.var); in zend_t_usage() 1450 zend_bitset_incl(used_ext, var_num); in zend_t_usage() 1454 var_num = VAR_NUM(opline->op2.var); in zend_t_usage() 1460 zend_bitset_incl(used_ext, var_num); in zend_t_usage() 1463 var_num = VAR_NUM(opline->op2.var); in zend_t_usage() 1465 zend_bitset_incl(used_ext, var_num); in zend_t_usage() 1470 var_num = VAR_NUM(opline->result.var); in zend_t_usage() 1471 zend_bitset_incl(defined_here, var_num); in zend_t_usage() 1473 var_num = VAR_NUM(opline->result.var); in zend_t_usage() [all …]
|
H A D | zend_dump.c | 140 ZEND_API void zend_dump_var(const zend_op_array *op_array, uint8_t var_type, uint32_t var_num) in zend_dump_var() argument 142 if (var_type == IS_CV && var_num < op_array->last_var) { in zend_dump_var() 143 fprintf(stderr, "CV%d($%s)", var_num, op_array->vars[var_num]->val); in zend_dump_var() 145 fprintf(stderr, "V%d", var_num); in zend_dump_var() 147 fprintf(stderr, "T%d", var_num); in zend_dump_var() 149 fprintf(stderr, "X%d", var_num); in zend_dump_var() 369 …_array, const zend_ssa *ssa, int ssa_var_num, uint8_t var_type, uint32_t var_num, uint32_t dump_fl… in zend_dump_ssa_var() argument 376 zend_dump_var(op_array, (var_num < op_array->last_var ? IS_CV : var_type), var_num); in zend_dump_ssa_var()
|
H A D | sccp.c | 1772 static zval *value_from_type_and_range(sccp_ctx *ctx, int var_num, zval *tmp) { in value_from_type_and_range() argument 1774 zend_ssa_var_info *info = &ssa->var_info[var_num]; in value_from_type_and_range() 1787 if (ssa->vars[var_num].definition >= 0 in value_from_type_and_range() 1788 … && ctx->scdf.op_array->opcodes[ssa->vars[var_num].definition].opcode == ZEND_VERIFY_RETURN_TYPE) { in value_from_type_and_range() 1795 if (ssa->vars[var_num].definition >= 0 in value_from_type_and_range() 1796 … && ctx->scdf.op_array->opcodes[ssa->vars[var_num].definition].opcode == ZEND_VERIFY_RETURN_TYPE) { in value_from_type_and_range() 1803 if (ssa->vars[var_num].definition >= 0 in value_from_type_and_range() 2123 static int try_remove_definition(sccp_ctx *ctx, int var_num, zend_ssa_var *var, zval *value) in try_remove_definition() argument 2133 if (ssa_op->result_def == var_num) { in try_remove_definition() 2216 ssa_op->result_def = var_num; in try_remove_definition() [all …]
|
H A D | zend_ssa.c | 185 …zend_op_array *op_array, uint32_t build_flags, zend_op *opline, uint32_t var_num, zend_long *adjus… in find_adjusted_tmp_var() argument 192 if (op->result_type != IS_TMP_VAR || op->result.var != var_num) { in find_adjusted_tmp_var() 1383 int j, var_num = phi->sources[pred_offset]; in zend_ssa_remove_phi_source() local 1395 if (phi->sources[j] == var_num) { in zend_ssa_remove_phi_source() 1406 zend_ssa_remove_use_of_phi_source(ssa, phi, var_num, next_phi); in zend_ssa_remove_phi_source() 1422 void zend_ssa_remove_uses_of_var(zend_ssa *ssa, int var_num) /* {{{ */ in zend_ssa_remove_uses_of_var() argument 1424 zend_ssa_var *var = &ssa->vars[var_num]; in zend_ssa_remove_uses_of_var() 1430 if (phi->sources[i] == var_num) { in zend_ssa_remove_uses_of_var() 1438 if (ssa_op->op1_use == var_num) { in zend_ssa_remove_uses_of_var() 1442 if (ssa_op->op2_use == var_num) { in zend_ssa_remove_uses_of_var() [all …]
|
H A D | zend_ssa.h | 157 void zend_ssa_remove_uses_of_var(zend_ssa *ssa, int var_num);
|
H A D | zend_inference.c | 4302 const zend_op_array *op_array, zend_ssa *ssa, int var_num, in can_convert_to_double() argument 4304 zend_ssa_var *var = &ssa->vars[var_num]; in can_convert_to_double() 4309 if (zend_bitset_in(visited, var_num)) { in can_convert_to_double() 4312 zend_bitset_incl(visited, var_num); in can_convert_to_double() 4314 for (use = var->use_chain; use >= 0; use = zend_ssa_next_use(ssa->ops, var_num, use)) { in can_convert_to_double() 4318 if (zend_ssa_is_no_val_use(opline, ssa_op, var_num)) { in can_convert_to_double() 4351 if (ssa_op->op1_use == var_num) { in can_convert_to_double() 4364 if (ssa_op->op2_use == var_num) { in can_convert_to_double() 4418 for (phi = var->phi_use_chain; phi; phi = zend_ssa_next_use_phi(ssa, var_num, phi)) { in can_convert_to_double()
|
H A D | dfa_pass.c | 479 int var_num = ssa_op->op1_use; in zend_dfa_optimize_calls() local 480 zend_ssa_var *var = ssa->vars + var_num; in zend_dfa_optimize_calls() 488 ssa_op->op1_use = var_num; in zend_dfa_optimize_calls()
|
/php-src/Zend/ |
H A D | zend_opcode.c | 731 range->var = EX_NUM_TO_VAR(op_array->last_var + var_num); in emit_live_range_raw() 949 if (EXPECTED(last_use[var_num] != (uint32_t) -1)) { in zend_calc_live_ranges() 951 if (opnum + 1 != last_use[var_num]) { in zend_calc_live_ranges() 962 emit_live_range(op_array, var_num, num, last_use[var_num], needs_live_range); in zend_calc_live_ranges() 964 last_use[var_num] = (uint32_t) -1; in zend_calc_live_ranges() 970 if (EXPECTED(last_use[var_num] == (uint32_t) -1)) { in zend_calc_live_ranges() 982 if (last_use[var_num] != (uint32_t) -1) { in zend_calc_live_ranges() 983 if (opnum + 1 != last_use[var_num]) { in zend_calc_live_ranges() 985 op_array, var_num, opnum, last_use[var_num], needs_live_range); in zend_calc_live_ranges() 987 last_use[var_num] = (uint32_t) -1; in zend_calc_live_ranges() [all …]
|
H A D | zend_gc.c | 2176 uint32_t var_num = range->var & ~ZEND_LIVE_MASK; in zend_gc_check_root_tmpvars() local 2177 zval *var = ZEND_CALL_VAR(ex, var_num); in zend_gc_check_root_tmpvars() 2206 uint32_t var_num = range->var & ~ZEND_LIVE_MASK; in zend_gc_remove_root_tmpvars() local 2207 zval *var = ZEND_CALL_VAR(ex, var_num); in zend_gc_remove_root_tmpvars()
|
H A D | zend_execute.c | 4713 …_range *find_live_range(const zend_op_array *op_array, uint32_t op_num, uint32_t var_num) /* {{{ */ in find_live_range() argument 4719 && var_num == (range->var & ~ZEND_LIVE_MASK)) { in find_live_range() 4739 uint32_t var_num = range->var & ~ZEND_LIVE_MASK; in cleanup_live_vars() local 4740 zval *var = EX_VAR(var_num); in cleanup_live_vars() 4759 || last->result.var != var_num) { in cleanup_live_vars() 4856 uint32_t var_num = range->var & ~ZEND_LIVE_MASK; in zend_unfinished_execution_gc_ex() local 4857 zval *var = EX_VAR(var_num); in zend_unfinished_execution_gc_ex()
|
H A D | zend_compile.c | 65 uint32_t var_num; member 724 info.var_num = loop_var->u.op.var; in zend_begin_loop() 5608 opline->result.var = loop_var->var_num; in zend_handle_loops_and_finally_ex() 5617 opline->op1.var = loop_var->var_num; in zend_handle_loops_and_finally_ex() 5633 opline->op1.var = loop_var->var_num; in zend_handle_loops_and_finally_ex() 6646 fast_call.var_num = CG(context).fast_call_var; in zend_compile_try() 6743 discard_exception.var_num = CG(context).fast_call_var; in zend_compile_try()
|
/php-src/ext/opcache/jit/ |
H A D | zend_jit_trace.c | 3358 uint32_t var_num = ssa->vars[i].var; in zend_jit_trace_allocate_registers() local 3359 zend_dump_var(vars_op_array[i], (var_num < vars_op_array[i]->last_var ? IS_CV : 0), var_num); in zend_jit_trace_allocate_registers() 3971 if (phi->var == var_num) { in zend_jit_find_ssa_var() 4019 if (phi->var == var_num) { in zend_jit_find_ssa_var() 5196 if (STACK_MEM_TYPE(stack, var_num) != type in zend_jit_trace() 5202 SET_STACK_TYPE(stack, var_num, type, 1); in zend_jit_trace() 5249 if (STACK_MEM_TYPE(stack, var_num) != type in zend_jit_trace() 5255 SET_STACK_TYPE(stack, var_num, type, 1); in zend_jit_trace() 5352 SET_STACK_TYPE(stack, var_num, type, 1); in zend_jit_trace() 6576 uint32_t var_num = opline->result.var; in zend_jit_trace() local [all …]
|
H A D | zend_jit.c | 1151 uint32_t var_num = ssa->vars[i].var; in zend_jit_allocate_registers() local 1156 && var_num >= op_array->last_var in zend_jit_allocate_registers() 1170 } else if (op_num < range->end && var_num == (range->var & ~ZEND_LIVE_MASK)) { in zend_jit_allocate_registers() 1215 uint32_t var_num = ssa->vars[i].var; in zend_jit_allocate_registers() local 1216 zend_dump_var(op_array, (var_num < op_array->last_var ? IS_CV : 0), var_num); in zend_jit_allocate_registers()
|