Home
last modified time | relevance | path

Searched refs:ssa (Results 1 – 12 of 12) sorted by relevance

/PHP-7.1/ext/opcache/Optimizer/
H A Dzend_inference.h44 ssa->ops && \
67 ssa->ops && \
68 ssa->var_info && \
91 ssa->ops && \
92 ssa->var_info && \
109 ssa->ops && \
110 ssa->var_info && \
127 ssa->ops && \
128 ssa->var_info && \
210 return get_ssa_var_info(ssa, ssa->ops ? ssa->ops[opline - op_array->opcodes].opN##_use : -1); \
[all …]
H A Ddfa_pass.c156 ssa->ops[target] = ssa->ops[i]; in zend_ssa_remove_nops()
217 ssa->vars[j].definition -= shiftlist[ssa->vars[j].definition]; in zend_ssa_remove_nops()
220 ssa->vars[j].use_chain -= shiftlist[ssa->vars[j].use_chain]; in zend_ssa_remove_nops()
225 ssa->ops[i].op1_use_chain -= shiftlist[ssa->ops[i].op1_use_chain]; in zend_ssa_remove_nops()
489 && ssa->ops[ssa->vars[src_var].definition].result_use < 0 in zend_dfa_optimize_op_array()
495 ssa, &op_array->opcodes[ssa->vars[src_var].definition], in zend_dfa_optimize_op_array()
535 ssa->ops[op_1].op1_use = ssa->ops[op_1].op2_use; in zend_dfa_optimize_op_array()
536 ssa->ops[op_1].op1_use_chain = ssa->ops[op_1].op2_use_chain; in zend_dfa_optimize_op_array()
595 ssa->ops[ret].op1_use_chain = ssa->vars[orig_var].use_chain; in zend_dfa_optimize_op_array()
627 ssa->ops[op_1].result_def = ssa->ops[op_1].op1_def; in zend_dfa_optimize_op_array()
[all …]
H A Dzend_inference.c89 if (ssa->vars[var2].scc != ssa->vars[var].scc) { \
193 ssa->vars[var].scc = ssa->sccs; in zend_ssa_check_scc_var()
200 ssa->vars[var2].scc = ssa->sccs; in zend_ssa_check_scc_var()
202 ssa->sccs++; in zend_ssa_check_scc_var()
233 ssa->vars[j].scc = ssa->sccs - (ssa->vars[j].scc + 1); in zend_ssa_find_sccs()
277 if (!op_array->function_name || !ssa->vars || !ssa->ops) { in zend_ssa_find_false_dependencies()
1280 …if (ssa->ops[line].op1_def == var || ssa->ops[line].op2_def == var || ssa->ops[line].result_def ==… in zend_inference_calc_range()
1316 op_array, ssa, opline, &ssa->ops[line], in zend_inference_calc_range()
1551 if (ssa->vars[var2].scc == ssa->vars[var].scc && \
3629 if (info->ssa.ops && info->ssa.vars && info->call_map && in is_recursive_tail_call()
[all …]
H A Dzend_ssa.c55 to_block = &ssa->cfg.blocks[to]; in needs_pi()
90 phi->next = ssa->blocks[to].phis; in add_pi()
91 ssa->blocks[to].phis = phi; in add_pi()
872 ssa->blocks = ssa_blocks; in zend_build_ssa()
1009 if (!ssa->vars) { in zend_ssa_compute_use_def_chains()
1010 ssa->vars = zend_arena_calloc(arena, ssa->vars_count, sizeof(zend_ssa_var)); in zend_ssa_compute_use_def_chains()
1012 ssa_vars = ssa->vars; in zend_ssa_compute_use_def_chains()
1111 ssa->vars[var].use_chain = zend_ssa_next_use(ssa->ops, var, op); in zend_ssa_unlink_use_chain()
1119 ssa->ops[use].res_use_chain = zend_ssa_next_use(ssa->ops, var, op); in zend_ssa_unlink_use_chain()
1126 ssa->ops[use].op1_use_chain = zend_ssa_next_use(ssa->ops, var, op); in zend_ssa_unlink_use_chain()
[all …]
H A Dzend_dump.c400 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()
550 if (ssa && ssa->ops) { in zend_dump_op()
563 if (ssa && ssa->ops) { in zend_dump_op()
586 if (ssa && ssa->ops) { in zend_dump_op()
599 if (ssa && ssa->ops) { 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()
642 if (ssa && ssa->ops) { in zend_dump_op()
755 if (ssa && ssa->blocks && ssa->blocks[n].phis) { in zend_dump_block_header()
[all …]
H A Dzend_ssa.h130 …pt *script, const zend_op_array *op_array, uint32_t build_flags, zend_ssa *ssa, uint32_t *func_fla…
131 … zend_ssa_compute_use_def_chains(zend_arena **arena, const zend_op_array *op_array, zend_ssa *ssa);
132 int zend_ssa_unlink_use_chain(zend_ssa *ssa, int op, int var);
145 static zend_always_inline zend_ssa_phi* zend_ssa_next_use_phi(const zend_ssa *ssa, int var, const z… in zend_ssa_next_use_phi() argument
151 for (j = 0; j < ssa->cfg.blocks[p->block].predecessors_count; j++) { in zend_ssa_next_use_phi()
H A Dzend_dump.h36 void zend_dump_phi_placement(const zend_op_array *op_array, const zend_ssa *ssa);
38 void zend_dump_ssa_variables(const zend_op_array *op_array, const zend_ssa *ssa, uint32_t dump_flag…
H A Dzend_func_info.h54 uint32_t zend_get_func_info(const zend_call_info *call_info, const zend_ssa *ssa);
H A Dzend_call_graph.h51 zend_ssa ssa; /* Static Single Assignmnt Form */ member
H A Dzend_optimizer_internal.h103 int zend_dfa_analyze_op_array(zend_op_array *op_array, zend_optimizer_ctx *ctx, zend_ssa *ssa, uin…
104 void zend_dfa_optimize_op_array(zend_op_array *op_array, zend_optimizer_ctx *ctx, zend_ssa *ssa);
H A Dzend_func_info.c31 typedef uint32_t (*info_func_t)(const zend_call_info *call_info, const zend_ssa *ssa);
59 static uint32_t zend_strlen_info(const zend_call_info *call_info, const zend_ssa *ssa) in zend_strlen_info() argument
85 static uint32_t zend_dechex_info(const zend_call_info *call_info, const zend_ssa *ssa) in zend_dechex_info() argument
96 static uint32_t zend_range_info(const zend_call_info *call_info, const zend_ssa *ssa) in zend_range_info() argument
107 t3 = _ssa_op1_info(call_info->caller_op_array, ssa, call_info->arg_info[2].opline); in zend_range_info()
129 static uint32_t zend_is_type_info(const zend_call_info *call_info, const zend_ssa *ssa) in zend_is_type_info() argument
139 static uint32_t zend_l_ss_info(const zend_call_info *call_info, const zend_ssa *ssa) in zend_l_ss_info() argument
164 static uint32_t zend_lb_ssn_info(const zend_call_info *call_info, const zend_ssa *ssa) in zend_lb_ssn_info() argument
191 static uint32_t zend_b_s_info(const zend_call_info *call_info, const zend_ssa *ssa) in zend_b_s_info() argument
1208 uint32_t zend_get_func_info(const zend_call_info *call_info, const zend_ssa *ssa) in zend_get_func_info() argument
[all …]
H A Dzend_optimizer.c850 static void zend_redo_pass_two_ex(zend_op_array *op_array, zend_ssa *ssa) in zend_redo_pass_two_ex() argument
864 …((ssa->ops[opline - op_array->opcodes].op1_def >= 0) ? (OP1_DEF_INFO() & (MAY_BE_UNDEF|MAY_BE_ANY|… in zend_redo_pass_two_ex()
993 zend_dfa_analyze_op_array(call_graph.op_arrays[i], &ctx, &func_info->ssa, &func_info->flags); in zend_optimize_script()
1001 zend_dfa_optimize_op_array(call_graph.op_arrays[i], &ctx, &func_info->ssa); in zend_optimize_script()
1019 if (func_info && func_info->ssa.var_info) { in zend_optimize_script()
1020 zend_redo_pass_two_ex(call_graph.op_arrays[i], &func_info->ssa); in zend_optimize_script()

Completed in 73 milliseconds