/php-src/Zend/Optimizer/ |
H A D | zend_ssa.c | 109 phi->pi = from; in add_pi() 127 return phi; in add_pi() 845 var[phi->var] = phi->ssa_var; in zend_ssa_rename() 847 phi = phi->next; in zend_ssa_rename() 1140 ssa_vars[phi->ssa_var].var = phi->var; in zend_ssa_compute_use_def_chains() 1141 ssa_vars[phi->ssa_var].definition_phi = phi; in zend_ssa_compute_use_def_chains() 1152 ssa_vars[phi->sources[0]].phi_use_chain = phi; in zend_ssa_compute_use_def_chains() 1178 ssa_vars[phi->sources[j]].phi_use_chain = phi; in zend_ssa_compute_use_def_chains() 1182 phi = phi->next; in zend_ssa_compute_use_def_chains() 1480 for (phi = next_ssa_block->phis; phi; phi = phi->next) { in zend_ssa_remove_predecessor() [all …]
|
H A D | scdf.c | 74 zend_ssa_phi *phi; in scdf_mark_edge_feasible() local 75 for (phi = ssa_block->phis; phi; phi = phi->next) { in scdf_mark_edge_feasible() 77 scdf->handlers.visit_phi(scdf, phi); in scdf_mark_edge_feasible() 113 ZEND_ASSERT(phi); in scdf_solve() 115 scdf->handlers.visit_phi(scdf, phi); in scdf_solve() 149 zend_ssa_phi *phi; in scdf_solve() local 150 for (phi = ssa_block->phis; phi; phi = phi->next) { in scdf_solve() 152 scdf->handlers.visit_phi(scdf, phi); in scdf_solve() 231 for (zend_ssa_phi *phi = ssa->blocks[block_num].phis; phi; phi = phi->next) { in cleanup_loop_var_free_block() local 232 zend_ssa_remove_uses_of_var(ssa, phi->ssa_var); in cleanup_loop_var_free_block() [all …]
|
H A D | ssa_integrity.c | 35 zend_ssa_phi *phi; in is_in_phi_use_chain() local 37 if (phi == check) { in is_in_phi_use_chain() 118 zend_ssa_phi *phi; in ssa_verify_integrity() local 174 phi = var->phi_use_chain; in ssa_verify_integrity() 176 while (phi && second_phi) { in ssa_verify_integrity() 177 phi = zend_ssa_next_use_phi(ssa, var - ssa->vars, phi); in ssa_verify_integrity() 183 if (phi == second_phi) { in ssa_verify_integrity() 189 FOREACH_PHI_USE(var, phi) { in ssa_verify_integrity() 331 FOREACH_PHI(phi) { in ssa_verify_integrity() 347 if (phi->sources[j] == source && phi->use_chains[j]) { in ssa_verify_integrity() [all …]
|
H A D | zend_ssa.h | 264 #define NUM_PHI_SOURCES(phi) \ argument 265 ((phi)->pi >= 0 ? 1 : (ssa->cfg.blocks[(phi)->block].predecessors_count)) 277 #define FOREACH_PHI_USE(var, phi) do { \ argument 280 for (phi = (var)->phi_use_chain; phi; phi = next_phi) { \ 281 next_phi = zend_ssa_next_use_phi(ssa, _var_num, phi); 286 #define FOREACH_PHI_SOURCE(phi, source) do { \ argument 287 zend_ssa_phi *_phi = (phi); \ 288 int _i, _end = NUM_PHI_SOURCES(phi); \ 296 #define FOREACH_PHI(phi) do { \ argument 299 phi = ssa->blocks[_i].phis; \ [all …]
|
H A D | dce.c | 320 FOREACH_PHI_SOURCE(phi, source) { in add_phi_sources_to_worklists() 469 FOREACH_PHI_SOURCE(phi, source) { in get_common_phi_source() 470 if (source == phi->ssa_var) { in get_common_phi_source() 488 if (phi->pi < 0) { in try_remove_trivial_phi() 493 zend_ssa_remove_phi(ssa, phi); in try_remove_trivial_phi() 528 zend_ssa_phi *phi; in dce_optimize_op_array() local 555 FOREACH_PHI(phi) { in dce_optimize_op_array() 556 if (phi->var >= op_array->last_var in dce_optimize_op_array() 648 FOREACH_PHI_SOURCE(phi, source) { in dce_optimize_op_array() 654 FOREACH_PHI(phi) { in dce_optimize_op_array() [all …]
|
H A D | scdf.h | 42 struct _scdf_ctx *scdf, zend_ssa_phi *phi); 59 zend_ssa_phi *phi; in scdf_add_to_worklist() local 63 FOREACH_PHI_USE(var, phi) { in scdf_add_to_worklist() 64 zend_bitset_incl(scdf->phi_var_worklist, phi->ssa_var); in scdf_add_to_worklist()
|
H A D | sccp.c | 2042 ZEND_ASSERT(phi->ssa_var >= 0); in sccp_visit_phi() 2043 if (!IS_BOT(&ctx->values[phi->ssa_var])) { in sccp_visit_phi() 2044 zend_basic_block *block = &ssa->cfg.blocks[phi->block]; in sccp_visit_phi() 2053 if (phi->pi >= 0) { in sccp_visit_phi() 2054 ZEND_ASSERT(phi->sources[0] >= 0); in sccp_visit_phi() 2055 if (scdf_is_edge_feasible(scdf, phi->pi, phi->block)) { in sccp_visit_phi() 2056 …join_phi_values(&result, &ctx->values[phi->sources[0]], ssa->vars[phi->ssa_var].escape_state != ES… in sccp_visit_phi() 2060 ZEND_ASSERT(phi->sources[i] >= 0); in sccp_visit_phi() 2063 scp_dump_value(&ctx->values[phi->sources[i]]); in sccp_visit_phi() 2066 …join_phi_values(&result, &ctx->values[phi->sources[i]], ssa->vars[phi->ssa_var].escape_state != ES… in sccp_visit_phi() [all …]
|
H A D | dfa_pass.c | 588 zend_ssa_phi *phi; in replace_predecessor() local 616 for (phi = ssa->blocks[block_id].phis; phi; phi = phi->next) { in replace_predecessor() 617 if (phi->pi >= 0) { in replace_predecessor() 618 if (phi->pi == old_pred || phi->pi == new_pred) { in replace_predecessor() 620 ssa, phi->ssa_var, phi->sources[0], /* update_types */ 0); in replace_predecessor() 621 zend_ssa_remove_phi(ssa, phi); in replace_predecessor() 625 phi->sources + old_pred_idx, in replace_predecessor() 626 phi->sources + old_pred_idx + 1, in replace_predecessor()
|
H A D | zend_inference.c | 265 zend_ssa_phi *phi; member 271 zend_ssa_phi *phi; in zend_scc_next() local 284 case 9: phi = iterator->phi; goto state_9; in zend_scc_next() 286 case 10: phi = iterator->phi; goto state_10; in zend_scc_next() 356 while (phi) { in zend_scc_next() 360 iterator->phi = phi; in zend_scc_next() 364 phi = zend_ssa_next_use_phi(ssa, var, phi); in zend_scc_next() 370 while (phi) { in zend_scc_next() 374 iterator->phi = phi; in zend_scc_next() 378 phi = phi->sym_use_chain; in zend_scc_next() [all …]
|
/php-src/ext/opcache/jit/ |
H A D | zend_jit_trace.c | 837 phi = phi->next; in zend_jit_trace_copy_ssa_var_info() 875 phi = phi->next; in zend_jit_trace_copy_ssa_var_info() 955 phi = phi->next; in zend_jit_trace_copy_ssa_var_info() 1642 phi = phi->next; in zend_jit_trace_build_tssa() 1790 phi = phi->next; in zend_jit_trace_build_tssa() 2768 phi = phi->next; in zend_jit_trace_build_tssa() 2939 phi = phi->next; in zend_jit_trace_allocate_registers() 3261 phi = phi->next; in zend_jit_trace_allocate_registers() 3336 phi = phi->next; in zend_jit_trace_allocate_registers() 3974 phi = phi->next; in zend_jit_find_ssa_var() [all …]
|
H A D | zend_jit.c | 130 phi = zend_ssa_next_use_phi(ssa, var, phi); in zend_ssa_is_last_use() 131 } while (phi); in zend_ssa_is_last_use() 1207 while (phi) { in zend_jit_allocate_registers() 1213 phi = zend_ssa_next_use_phi(ssa, i, phi); in zend_jit_allocate_registers() 1268 while (phi) { in zend_jit_allocate_registers() 1274 phi = zend_ssa_next_use_phi(ssa, i, phi); in zend_jit_allocate_registers() 1502 while (phi) { in zend_jit() 1512 phi = phi->next; in zend_jit() 1550 while (phi) { in zend_jit() 1557 …if (!zend_jit_load_var(&ctx, ssa->var_info[phi->ssa_var].type, ssa->vars[phi->ssa_var].var, phi->s… in zend_jit() [all …]
|
H A D | zend_jit_ir.c | 1348 phi = zend_ssa_next_use_phi(jit->ssa, var, phi); in zend_jit_def_reg() 1371 phi = zend_ssa_next_use_phi(jit->ssa, var, phi); in zend_jit_def_reg() 3544 phi++; in _zend_jit_fix_merges() 3547 ir_insn_set_op(phi, k + 2, ir_insn_op(phi, j + 2)); in _zend_jit_fix_merges() 3572 phi++; in _zend_jit_fix_merges() 3577 phi->op1 = phi->op2; in _zend_jit_fix_merges() 3578 phi->op2 = 1; in _zend_jit_fix_merges() 6583 ir_ref phi; in zend_jit_assign_to_variable() local 6597 phi = ir_emit2(&jit->ctx, IR_OPT(IR_COPY, jit->ctx.ir_base[phi].type), phi, 1); in zend_jit_assign_to_variable() 17453 phi = zend_ssa_next_use_phi(ssa, var, phi); [all …]
|
/php-src/ext/opcache/tests/ |
H A D | phi_use_chain.phpt | 2 Check that phi use chains are correctly maintained when removing blocks
|
/php-src/Zend/tests/ |
H A D | live_range_phi_leak.phpt | 2 Missing live range if part of phi
|
H A D | unreachable_phi_cycle.phpt | 2 Unreachable phi cycle
|
/php-src/Zend/tests/match/ |
H A D | match_of_phi_optimization.phpt | 2 Unreachable code elimination when match argument is a phi node
|
/php-src/ext/opcache/jit/ir/ |
H A D | ir_sccp.c | 1930 if (phi->op == IR_PHI in ir_try_split_if_cmp() 1931 && phi->inputs_count == 3 in ir_try_split_if_cmp() 1932 && phi->op1 == insn->op1 in ir_try_split_if_cmp() 1934 && ((IR_IS_CONST_REF(phi->op2) && !IR_IS_SYM_CONST(ctx->ir_base[phi->op2].op)) in ir_try_split_if_cmp() 1935 || (IR_IS_CONST_REF(phi->op3) && !IR_IS_SYM_CONST(ctx->ir_base[phi->op3].op)))) { in ir_try_split_if_cmp() 1951 if (!IR_IS_CONST_REF(phi->op2) || IR_IS_SYM_CONST(ctx->ir_base[phi->op2].op)) { in ir_try_split_if_cmp() 1953 SWAP_REFS(phi->op2, phi->op3); in ir_try_split_if_cmp() 1965 if (IR_IS_CONST_REF(phi->op3) && !IR_IS_SYM_CONST(ctx->ir_base[phi->op3].op)) { in ir_try_split_if_cmp() 2087 cond->op1 = phi->op3; in ir_try_split_if_cmp() 2088 MAKE_NOP(phi); in ir_try_split_if_cmp() [all …]
|
H A D | ir.c | 2001 void _ir_PHI_SET_OP(ir_ctx *ctx, ir_ref phi, ir_ref pos, ir_ref src) argument 2003 ir_insn *insn = &ctx->ir_base[phi]; 2249 ir_ref phi, *ops, i; local 2257 phi = end->op3; 2262 phi = IR_UNUSED; 2268 phi = ir_emit_N(ctx, IR_OPT(IR_PHI, type), merge->inputs_count + 1); 2271 ir_set_op(ctx, phi, 1, ctx->control); 2274 ir_set_op(ctx, phi, i + 2, end->op3); 2278 return phi;
|
/php-src/ext/standard/html_tables/ |
H A D | ents_html401.txt | 144 phi 03C6
|
H A D | ents_xhtml.txt | 176 phi 03C6
|
/php-src/ext/standard/tests/strings/ |
H A D | get_html_translation_table_basic7.phpt | 238 [φ] => φ
|
H A D | get_html_translation_table_basic2.phpt | 410 string(5) "φ" 919 string(5) "φ" 1426 string(5) "φ"
|
H A D | html_entity_decode_html4.phpt | 159 "φ",
|
H A D | get_html_translation_table_basic1.phpt | 397 string(5) "φ"
|
H A D | htmlentities_html4.phpt | 215 φ U+003C6
|