/PHP-8.1/Zend/Optimizer/ |
H A D | zend_ssa.h | 181 ssa_op->op1_def = -1; in zend_ssa_remove_op1_def() 188 ssa_op->op2_def = -1; in zend_ssa_remove_op2_def() 195 ssa_op += use; in END_EXTERN_C() 226 return ssa_op->op1_use == var && ssa_op->op2_use != var; in zend_ssa_is_no_val_use() 229 return ssa_op->op2_use == var && ssa_op->op1_use != var; in zend_ssa_is_no_val_use() 234 return ssa_op->op1_use != var && ssa_op->op2_use != var; in zend_ssa_is_no_val_use() 243 zend_ssa_rename_var_uses(ssa, ssa_op->op1_def, ssa_op->op1_use, 1); in zend_ssa_rename_defs_of_instr() 246 ssa_op->op1_def = -1; in zend_ssa_rename_defs_of_instr() 250 zend_ssa_rename_var_uses(ssa, ssa_op->op2_def, ssa_op->op2_use, 1); in zend_ssa_rename_defs_of_instr() 253 ssa_op->op2_def = -1; in zend_ssa_rename_defs_of_instr() [all …]
|
H A D | ssa_integrity.c | 47 || (ssa_op->op2_use == check) in is_used_by_op() 54 || (ssa_op->op2_def == check) in is_defined_by_op() 180 if (ssa_op->op1_use < 0 && ssa_op->op1_def < 0) { in ssa_verify_integrity() 184 if (ssa_op->op1_use >= 0 || ssa_op->op1_def >= 0) { in ssa_verify_integrity() 189 if (ssa_op->op2_use < 0 && ssa_op->op2_def < 0) { in ssa_verify_integrity() 193 if (ssa_op->op2_use >= 0 || ssa_op->op2_def >= 0) { in ssa_verify_integrity() 198 if (ssa_op->result_use < 0 && ssa_op->result_def < 0) { in ssa_verify_integrity() 202 if (ssa_op->result_use >= 0 || ssa_op->result_def >= 0) { in ssa_verify_integrity() 207 if (ssa_op->op1_use >= 0) { in ssa_verify_integrity() 220 if (ssa_op->op2_use >= 0) { in ssa_verify_integrity() [all …]
|
H A D | zend_inference.h | 47 ssa_op->opN##_use >= 0 && \ 48 ssa->var_info[ssa_op->opN##_use].has_range); \ 69 ssa_op->opN##_use >= 0 && \ 70 ssa->var_info[ssa_op->opN##_use].has_range) { \ 71 return ssa->var_info[ssa_op->opN##_use].range.min; \ 92 ssa_op->opN##_use >= 0 && \ 93 ssa->var_info[ssa_op->opN##_use].has_range) { \ 109 ssa_op->opN##_use >= 0 && \ 110 ssa->var_info[ssa_op->opN##_use].has_range) { \ 126 ssa_op->opN##_use >= 0 && \ [all …]
|
H A D | dce.c | 181 if (is_bad_mod(ssa, ssa_op->op1_use, ssa_op->op1_def)) { in may_have_side_effects() 212 return is_bad_mod(ssa, ssa_op->op1_use, ssa_op->op1_def); in may_have_side_effects() 214 return is_bad_mod(ssa, ssa_op->op1_use, ssa_op->op1_def) in may_have_side_effects() 218 if (is_bad_mod(ssa, ssa_op->op1_use, ssa_op->op1_def) in may_have_side_effects() 224 ssa_op++; in may_have_side_effects() 236 if (is_bad_mod(ssa, ssa_op->op1_use, ssa_op->op1_def) in may_have_side_effects() 299 if (!zend_ssa_is_no_val_use(opline, ssa_op, ssa_op->op1_use) in add_operands_to_worklists() 308 if (!zend_ssa_is_no_val_use(opline, ssa_op, ssa_op->op2_use) in add_operands_to_worklists() 429 if (!try_remove_var_def(ctx, ssa_op->op1_use, ssa_op->op1_use_chain, opline)) { in dce_instr() 508 if (ssa_op->op1_def >= 0 in may_break_varargs() [all …]
|
H A D | zend_inference.c | 1473 if (ssa_op->op1_def == var || ssa_op->op2_def == var || ssa_op->result_def == var) { in zend_inference_propagate_range() 1491 ssa_op++; in zend_inference_propagate_range() 2523 ssa_op--; in _zend_update_type_info() 2619 COPY_SSA_OBJ_TYPE(ssa_op->op1_use, ssa_op->op1_def); in _zend_update_type_info() 2662 COPY_SSA_OBJ_TYPE(ssa_op->op1_use, ssa_op->op1_def); in _zend_update_type_info() 2927 COPY_SSA_OBJ_TYPE(ssa_op->op1_use, ssa_op->op1_def); in _zend_update_type_info() 2956 ssa_op++; in _zend_update_type_info() 2970 COPY_SSA_OBJ_TYPE(ssa_op->op1_use, ssa_op->op1_def); in _zend_update_type_info() 2983 ssa_op++; in _zend_update_type_info() 2998 ssa_op++; in _zend_update_type_info() [all …]
|
H A D | sccp.c | 330 ssa_op->op2_use = -1; in try_replace_op1() 355 ZEND_ASSERT(ssa_op->result_def == (ssa_op + 1)->op2_use); in try_replace_op2() 1361 ssa_op++; in sccp_visit_instr() 1800 if (ssa_op->result_def < 0 || IS_BOT(&ctx->values[ssa_op->result_def])) { in sccp_visit_instr() 2218 if (ssa_op->op1_def >= 0 || ssa_op->op2_def >= 0) { in try_remove_definition() 2340 if ((ssa_op->op2_use >= 0 && !value_known(&ctx->values[ssa_op->op2_use])) in try_remove_definition() 2384 if (ssa_op->op2_use != ssa_op->op1_use) { in try_remove_definition() 2418 zend_ssa_rename_var_uses(ssa, ssa_op->op1_def, ssa_op->op1_use, 1); in try_remove_definition() 2476 if (ssa_op->op1_use != ssa_op->op2_use) { in replace_constant_operands() 2479 ssa_op->op2_use_chain = ssa_op->op1_use_chain; in replace_constant_operands() [all …]
|
H A D | zend_ssa.c | 1222 zend_ssa_unlink_use_chain(ssa, ssa_op - ssa->ops, ssa_op->result_use); in zend_ssa_remove_instr() 1227 if (ssa_op->op1_use != ssa_op->op2_use) { in zend_ssa_remove_instr() 1228 zend_ssa_unlink_use_chain(ssa, ssa_op - ssa->ops, ssa_op->op1_use); in zend_ssa_remove_instr() 1230 ssa_op->op2_use_chain = ssa_op->op1_use_chain; in zend_ssa_remove_instr() 1232 ssa_op->op1_use = -1; in zend_ssa_remove_instr() 1236 zend_ssa_unlink_use_chain(ssa, ssa_op - ssa->ops, ssa_op->op2_use); in zend_ssa_remove_instr() 1237 ssa_op->op2_use = -1; in zend_ssa_remove_instr() 1377 ssa_op->op1_use = -1; in zend_ssa_remove_uses_of_var() 1557 ssa_op->res_use_chain = ssa_op->op1_use_chain; in zend_ssa_rename_var_uses() 1563 ssa_op->res_use_chain = ssa_op->op2_use_chain; in zend_ssa_rename_var_uses() [all …]
|
H A D | scdf.c | 124 zend_ssa_op *ssa_op = &ssa->ops[i]; in scdf_solve() local 127 ssa_op--; in scdf_solve() 129 scdf->handlers.visit_instr(scdf, opline, ssa_op); in scdf_solve() 134 scdf->handlers.mark_feasible_successors(scdf, block_num, block, opline, ssa_op); in scdf_solve() 188 scdf_ctx *scdf, const zend_op *opline, const zend_ssa_op *ssa_op) { in is_live_loop_var_free() argument 193 int var = ssa_op->op1_use; in is_live_loop_var_free() 238 zend_ssa_op *ssa_op = &scdf->ssa->ops[i]; in cleanup_loop_var_free_block() local 240 || is_live_loop_var_free(scdf, opline, ssa_op)) { in cleanup_loop_var_free_block() 246 zend_ssa_remove_defs_of_instr(ssa, ssa_op); in cleanup_loop_var_free_block() 247 zend_ssa_remove_instr(ssa, opline, ssa_op); in cleanup_loop_var_free_block()
|
H A D | escape_analysis.c | 152 zend_ssa_op *ssa_op = ssa->ops + def; in is_allocation_def() local 155 if (ssa_op->result_def == var) { in is_allocation_def() 191 } else if (ssa_op->op1_def == var) { in is_allocation_def() 261 zend_ssa_op *ssa_op = ssa->ops + use; in is_escape_use() local 264 if (ssa_op->op1_use == var) { in is_escape_use() 319 ssa_op--; in is_escape_use() 322 || (ssa_op->op1_def >= 0 && ssa->vars[ssa_op->op1_def].alias)) { in is_escape_use() 333 if (ssa_op->op2_use == var) { in is_escape_use() 338 || (ssa_op->op1_def >= 0 && ssa->vars[ssa_op->op1_def].alias)) { in is_escape_use() 354 if (ssa_op->result_use == var) { in is_escape_use()
|
H A D | dfa_pass.c | 388 if ((ssa_op->op1_def >= 0 && ssa->vars[ssa_op->op1_def].var == var) || in variable_defined_or_used_in_range() 389 (ssa_op->op2_def >= 0 && ssa->vars[ssa_op->op2_def].var == var) || in variable_defined_or_used_in_range() 390 (ssa_op->result_def >= 0 && ssa->vars[ssa_op->result_def].var == var) || in variable_defined_or_used_in_range() 391 (ssa_op->op1_use >= 0 && ssa->vars[ssa_op->op1_use].var == var) || in variable_defined_or_used_in_range() 392 (ssa_op->op2_use >= 0 && ssa->vars[ssa_op->op2_use].var == var) || in variable_defined_or_used_in_range() 393 (ssa_op->result_use >= 0 && ssa->vars[ssa_op->result_use].var == var) in variable_defined_or_used_in_range() 485 ssa_op->op1_use = -1; in zend_dfa_optimize_calls() 773 zend_ssa_op *ssa_op; in zend_dfa_optimize_jmps() local 893 ssa_op->op1_use = -1; in zend_dfa_optimize_jmps() 1151 zend_ssa_op *ssa_op; in zend_dfa_optimize_op_array() local [all …]
|
H A D | zend_dump.c | 430 if (!ssa_op || ssa_op->result_use < 0) { in zend_dump_op() 432 if (ssa_op && ssa_op->result_def >= 0) { in zend_dump_op() 602 if (ssa_op) { in zend_dump_op() 607 } else if (ssa_op->op1_def < 0) { in zend_dump_op() 615 if (ssa_op) { in zend_dump_op() 663 if (ssa_op) { in zend_dump_op() 676 if (ssa_op) { in zend_dump_op() 713 } else if (ssa_op && ssa_op->result_use >= 0) { in zend_dump_op() 715 if (ssa_op) { in zend_dump_op() 725 if (ssa_op) { in zend_dump_op() [all …]
|
H A D | scdf.h | 40 struct _scdf_ctx *scdf, zend_op *opline, zend_ssa_op *ssa_op); 45 zend_op *opline, zend_ssa_op *ssa_op);
|
H A D | zend_dump.h | 35 …ck *b, const zend_op *opline, uint32_t dump_flags, const zend_ssa *ssa, const zend_ssa_op *ssa_op);
|
H A D | zend_optimizer.c | 1179 zend_ssa_op *ssa_op = &ssa->ops[opline - op_array->opcodes]; in zend_redo_pass_two_ex() local 1331 zend_ssa_op *ssa_op = &func_info->ssa.ops[def_opline - op_array->opcodes]; in needs_live_range() local 1332 int ssa_var = ssa_op->result_def; in needs_live_range()
|
/PHP-8.1/ext/opcache/jit/ |
H A D | zend_jit_trace.c | 2849 && ssa_op->op2_use != ssa_op->op1_use in zend_jit_trace_allocate_registers() 2864 && ssa_op->result_use != ssa_op->op1_use in zend_jit_trace_allocate_registers() 2865 && ssa_op->result_use != ssa_op->op2_use in zend_jit_trace_allocate_registers() 2945 ssa_op++; in zend_jit_trace_allocate_registers() 2974 ssa_op++; in zend_jit_trace_allocate_registers() 3855 if ((ssa_op-1)->op1_def == ssa_op->op2_use) { in zend_jit_may_skip_comparison() 3856 ssa_op--; in zend_jit_may_skip_comparison() 3866 ssa_op--; in zend_jit_may_skip_comparison() 3880 if ((ssa_op-1)->op1_def == ssa_op->op1_use) { in zend_jit_may_skip_comparison() 3881 ssa_op--; in zend_jit_may_skip_comparison() [all …]
|
H A D | zend_jit.c | 306 ssa_op++; in zend_jit_needs_call_chain() 374 ssa_op++; in zend_jit_needs_call_chain() 435 ssa_op++; in zend_jit_needs_call_chain() 449 ssa_op++; in zend_jit_needs_call_chain() 475 ssa_op++; in zend_jit_needs_call_chain() 1118 res = ssa_op->op1_def; in zend_may_overflow() 1133 res = ssa_op->op1_def; in zend_may_overflow() 1147 res = ssa_op->result_def; in zend_may_overflow() 1208 res = ssa_op->op1_def; in zend_may_overflow() 1235 res = ssa_op->op1_def; in zend_may_overflow() [all …]
|
H A D | zend_jit_internal.h | 152 #define OP_REG(ssa_op, op) \ argument 153 (ra && ssa_op->op >= 0 && ra[ssa_op->op] ? \ 154 OP_REG_EX(ra[ssa_op->op]->reg, \ 155 (ra[ssa_op->op]->flags & ZREG_STORE), \ 156 (ra[ssa_op->op]->flags & ZREG_LOAD), \ 157 zend_ival_is_last_use(ra[ssa_op->op], ssa_op - ssa->ops) \ 192 OP_REG(ssa_op, _ssa_op))
|
H A D | zend_jit_x86.dasc | 11982 && (ssa_op+1)->op1_use == ssa_op->result_def 13321 && (ssa_op+1)->op1_use == ssa_op->result_def 15952 if (def_var == ssa_op->result_def && 15953 use_var == ssa_op->op1_use) { 16171 if (ssa_op->op1_def == current_var || 16182 if (ssa_op->op1_use == current_var) { 16201 if (ssa_op->op1_use == current_var || 16202 ssa_op->op1_def == current_var) { 16220 if (ssa_op->op2_use == current_var || 16465 if (ssa_op == ssa->ops [all …]
|
H A D | zend_jit_arm64.dasc | 11246 && (ssa_op+1)->op1_use == ssa_op->result_def 12533 && (ssa_op+1)->op1_use == ssa_op->result_def 15001 if (def_var == ssa_op->result_def && 15002 use_var == ssa_op->op1_use) { 15205 if (ssa_op->op1_def == current_var || 15216 if (ssa_op->op1_use == current_var) { 15235 if (ssa_op->op1_use == current_var || 15236 ssa_op->op1_def == current_var) { 15254 if (ssa_op->op2_use == current_var || 15255 ssa_op->op2_def == current_var || [all …]
|