Lines Matching refs:dfg

35 		const zend_cfg *cfg, const zend_dfg *dfg, const zend_basic_block *block,  in will_rejoin()  argument
47 if (DFG_ISSET(dfg->def, dfg->size, predecessor, var)) { in will_rejoin()
60 static bool needs_pi(const zend_op_array *op_array, const zend_dfg *dfg, const zend_ssa *ssa, int f… in needs_pi() argument
65 if (!DFG_ISSET(dfg->in, dfg->size, to, var)) { in needs_pi()
88 return !will_rejoin(&ssa->cfg, dfg, to_block, other_successor, from, var); in needs_pi()
93 zend_arena **arena, const zend_op_array *op_array, zend_dfg *dfg, zend_ssa *ssa, in add_pi() argument
97 if (!needs_pi(op_array, dfg, ssa, from, to, var)) { in add_pi()
118 DFG_SET(dfg->def, dfg->size, to, var); in add_pi()
124 DFG_SET(dfg->use, dfg->size, to, var); in add_pi()
243 uint32_t build_flags, zend_ssa *ssa, zend_dfg *dfg) /* {{{ */ { in place_essa_pis() argument
270 if ((pi = add_pi(arena, op_array, dfg, ssa, j, blocks[j].successors[0], var))) { in place_essa_pis()
278 if ((pi = add_pi(arena, op_array, dfg, ssa, j, blocks[j].successors[1], var))) { in place_essa_pis()
368 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bt, var1))) { in place_essa_pis()
371 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bf, var1))) { in place_essa_pis()
375 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bf, var1))) { in place_essa_pis()
378 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bt, var1))) { in place_essa_pis()
383 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bt, var1))) { in place_essa_pis()
387 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bf, var1))) { in place_essa_pis()
391 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bt, var1))) { in place_essa_pis()
395 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bf, var1))) { in place_essa_pis()
403 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bt, var2))) { in place_essa_pis()
406 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bf, var2))) { in place_essa_pis()
410 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bf, var2))) { in place_essa_pis()
413 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bt, var2))) { in place_essa_pis()
418 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bt, var2))) { in place_essa_pis()
422 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bf, var2))) { in place_essa_pis()
426 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bt, var2))) { in place_essa_pis()
430 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bf, var2))) { in place_essa_pis()
444 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bf, var))) { in place_essa_pis()
447 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bt, var))) { in place_essa_pis()
451 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bf, var))) { in place_essa_pis()
454 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bt, var))) { in place_essa_pis()
465 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bf, var))) { in place_essa_pis()
469 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bt, var))) { in place_essa_pis()
476 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bt, var))) { in place_essa_pis()
481 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bf, var))) { in place_essa_pis()
510 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bt, var))) { in place_essa_pis()
513 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bf, var))) { in place_essa_pis()
517 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bf, var))) { in place_essa_pis()
520 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bt, var))) { in place_essa_pis()
534 if ((pi = add_pi(arena, op_array, dfg, ssa, j, bt, var))) { in place_essa_pis()
916 zend_dfg dfg; in zend_build_ssa() local
929 dfg.vars = op_array->last_var + op_array->T; in zend_build_ssa()
930 dfg.size = set_size = zend_bitset_len(dfg.vars); in zend_build_ssa()
931 dfg.tmp = do_alloca((set_size * sizeof(zend_ulong)) * (blocks_count * 4 + 1), dfg_use_heap); in zend_build_ssa()
932 memset(dfg.tmp, 0, (set_size * sizeof(zend_ulong)) * (blocks_count * 4 + 1)); in zend_build_ssa()
933 dfg.def = dfg.tmp + set_size; in zend_build_ssa()
934 dfg.use = dfg.def + set_size * blocks_count; in zend_build_ssa()
935 dfg.in = dfg.use + set_size * blocks_count; in zend_build_ssa()
936 dfg.out = dfg.in + set_size * blocks_count; in zend_build_ssa()
938 zend_build_dfg(op_array, &ssa->cfg, &dfg, build_flags); in zend_build_ssa()
941 zend_dump_dfg(op_array, &ssa->cfg, &dfg); in zend_build_ssa()
944 def = dfg.def; in zend_build_ssa()
945 in = dfg.in; in zend_build_ssa()
948 phi = dfg.use; in zend_build_ssa()
953 place_essa_pis(arena, script, op_array, build_flags, ssa, &dfg); in zend_build_ssa()
990 free_alloca(dfg.tmp, dfg_use_heap); in zend_build_ssa()
1044 free_alloca(dfg.tmp, dfg_use_heap); in zend_build_ssa()
1049 free_alloca(dfg.tmp, dfg_use_heap); in zend_build_ssa()