Lines Matching refs:ssa

148 …na, const zend_script *script, const zend_op_array *op_array, uint32_t build_flags, zend_ssa *ssa);
149 … zend_ssa_compute_use_def_chains(zend_arena **arena, const zend_op_array *op_array, zend_ssa *ssa);
151 int zend_ssa_unlink_use_chain(zend_ssa *ssa, int op, int var);
153 void zend_ssa_remove_predecessor(zend_ssa *ssa, int from, int to);
154 void zend_ssa_remove_defs_of_instr(zend_ssa *ssa, zend_ssa_op *ssa_op);
155 void zend_ssa_remove_instr(zend_ssa *ssa, zend_op *opline, zend_ssa_op *ssa_op);
156 void zend_ssa_remove_phi(zend_ssa *ssa, zend_ssa_phi *phi);
157 void zend_ssa_remove_uses_of_var(zend_ssa *ssa, int var_num);
158 void zend_ssa_remove_block(zend_op_array *op_array, zend_ssa *ssa, int b);
159 void zend_ssa_rename_var_uses(zend_ssa *ssa, int old_var, int new_var, bool update_types);
160 void zend_ssa_remove_block_from_cfg(zend_ssa *ssa, int b);
170 static zend_always_inline void zend_ssa_remove_result_def(zend_ssa *ssa, zend_ssa_op *ssa_op) in zend_ssa_remove_result_def() argument
172 zend_ssa_var *var = &ssa->vars[ssa_op->result_def]; in zend_ssa_remove_result_def()
177 static zend_always_inline void zend_ssa_remove_op1_def(zend_ssa *ssa, zend_ssa_op *ssa_op) in zend_ssa_remove_op1_def() argument
179 zend_ssa_var *var = &ssa->vars[ssa_op->op1_def]; in zend_ssa_remove_op1_def()
184 static zend_always_inline void zend_ssa_remove_op2_def(zend_ssa *ssa, zend_ssa_op *ssa_op) in zend_ssa_remove_op2_def() argument
186 zend_ssa_var *var = &ssa->vars[ssa_op->op2_def]; in zend_ssa_remove_op2_def()
205 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
211 for (j = 0; j < ssa->cfg.blocks[p->block].predecessors_count; j++) { in zend_ssa_next_use_phi()
239 static zend_always_inline void zend_ssa_rename_defs_of_instr(zend_ssa *ssa, zend_ssa_op *ssa_op) { in zend_ssa_rename_defs_of_instr() argument
243 zend_ssa_rename_var_uses(ssa, ssa_op->op1_def, ssa_op->op1_use, 1); in zend_ssa_rename_defs_of_instr()
245 ssa->vars[ssa_op->op1_def].definition = -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()
252 ssa->vars[ssa_op->op2_def].definition = -1; in zend_ssa_rename_defs_of_instr()
257 zend_ssa_rename_var_uses(ssa, ssa_op->result_def, ssa_op->result_use, 1); in zend_ssa_rename_defs_of_instr()
259 ssa->vars[ssa_op->result_def].definition = -1; in zend_ssa_rename_defs_of_instr()
265 ((phi)->pi >= 0 ? 1 : (ssa->cfg.blocks[(phi)->block].predecessors_count))
270 int _var_num = (var) - ssa->vars, next; \
272 next = zend_ssa_next_use(ssa->ops, _var_num, use);
278 int _var_num = (var) - ssa->vars; \
281 next_phi = zend_ssa_next_use_phi(ssa, _var_num, phi);
298 for (_i = 0; _i < ssa->cfg.blocks_count; _i++) { \
299 phi = ssa->blocks[_i].phis; \
308 for (_i = 0; _i < ssa->cfg.blocks_count; _i++) { \
309 (block) = &ssa->cfg.blocks[_i]; \