Lines Matching refs:ssa_op

154 void zend_ssa_remove_instr(zend_ssa *ssa, zend_op *opline, zend_ssa_op *ssa_op);
168 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
170 zend_ssa_var *var = &ssa->vars[ssa_op->result_def]; in zend_ssa_remove_result_def()
172 ssa_op->result_def = -1; in zend_ssa_remove_result_def()
175 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
177 zend_ssa_var *var = &ssa->vars[ssa_op->op1_def]; in zend_ssa_remove_op1_def()
179 ssa_op->op1_def = -1; in zend_ssa_remove_op1_def()
182 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
184 zend_ssa_var *var = &ssa->vars[ssa_op->op2_def]; in zend_ssa_remove_op2_def()
186 ssa_op->op2_def = -1; in zend_ssa_remove_op2_def()
191 static zend_always_inline int zend_ssa_next_use(const zend_ssa_op *ssa_op, int var, int use) in END_EXTERN_C()
193 ssa_op += use; in END_EXTERN_C()
194 if (ssa_op->op1_use == var) { in END_EXTERN_C()
195 return ssa_op->op1_use_chain; in END_EXTERN_C()
196 } else if (ssa_op->op2_use == var) { in END_EXTERN_C()
197 return ssa_op->op2_use_chain; in END_EXTERN_C()
199 return ssa_op->res_use_chain; in END_EXTERN_C()
218 …_inline zend_bool zend_ssa_is_no_val_use(const zend_op *opline, const zend_ssa_op *ssa_op, int var) in zend_ssa_is_no_val_use() argument
224 return ssa_op->op1_use == var && ssa_op->op2_use != var; in zend_ssa_is_no_val_use()
227 return ssa_op->op2_use == var && ssa_op->op1_use != var; in zend_ssa_is_no_val_use()
229 if (ssa_op->result_use == var in zend_ssa_is_no_val_use()
232 return ssa_op->op1_use != var && ssa_op->op2_use != var; in zend_ssa_is_no_val_use()
237 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
239 if (ssa_op->op1_def >= 0) { in zend_ssa_rename_defs_of_instr()
240 if (ssa_op->op1_use >= 0) { in zend_ssa_rename_defs_of_instr()
241 zend_ssa_rename_var_uses(ssa, ssa_op->op1_def, ssa_op->op1_use, 1); in zend_ssa_rename_defs_of_instr()
243 ssa->vars[ssa_op->op1_def].definition = -1; in zend_ssa_rename_defs_of_instr()
244 ssa_op->op1_def = -1; in zend_ssa_rename_defs_of_instr()
246 if (ssa_op->op2_def >= 0) { in zend_ssa_rename_defs_of_instr()
247 if (ssa_op->op2_use >= 0) { in zend_ssa_rename_defs_of_instr()
248 zend_ssa_rename_var_uses(ssa, ssa_op->op2_def, ssa_op->op2_use, 1); in zend_ssa_rename_defs_of_instr()
250 ssa->vars[ssa_op->op2_def].definition = -1; in zend_ssa_rename_defs_of_instr()
251 ssa_op->op2_def = -1; in zend_ssa_rename_defs_of_instr()
253 if (ssa_op->result_def >= 0) { in zend_ssa_rename_defs_of_instr()
254 if (ssa_op->result_use >= 0) { in zend_ssa_rename_defs_of_instr()
255 zend_ssa_rename_var_uses(ssa, ssa_op->result_def, ssa_op->result_use, 1); in zend_ssa_rename_defs_of_instr()
257 ssa->vars[ssa_op->result_def].definition = -1; in zend_ssa_rename_defs_of_instr()
258 ssa_op->result_def = -1; in zend_ssa_rename_defs_of_instr()