Lines Matching refs:ssa_op

155 void zend_ssa_remove_defs_of_instr(zend_ssa *ssa, zend_ssa_op *ssa_op);
156 void zend_ssa_remove_instr(zend_ssa *ssa, zend_op *opline, zend_ssa_op *ssa_op);
171 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
173 zend_ssa_var *var = &ssa->vars[ssa_op->result_def]; in zend_ssa_remove_result_def()
175 ssa_op->result_def = -1; in zend_ssa_remove_result_def()
178 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
180 zend_ssa_var *var = &ssa->vars[ssa_op->op1_def]; in zend_ssa_remove_op1_def()
182 ssa_op->op1_def = -1; in zend_ssa_remove_op1_def()
185 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
187 zend_ssa_var *var = &ssa->vars[ssa_op->op2_def]; in zend_ssa_remove_op2_def()
189 ssa_op->op2_def = -1; in zend_ssa_remove_op2_def()
194 static zend_always_inline int zend_ssa_next_use(const zend_ssa_op *ssa_op, int var, int use) in END_EXTERN_C()
196 ssa_op += use; in END_EXTERN_C()
197 if (ssa_op->op1_use == var) { in END_EXTERN_C()
198 return ssa_op->op1_use_chain; in END_EXTERN_C()
199 } else if (ssa_op->op2_use == var) { in END_EXTERN_C()
200 return ssa_op->op2_use_chain; in END_EXTERN_C()
202 return ssa_op->res_use_chain; in END_EXTERN_C()
221 …lways_inline 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
227 return ssa_op->op1_use == var && ssa_op->op2_use != var; in zend_ssa_is_no_val_use()
230 return ssa_op->op2_use == var && ssa_op->op1_use != var; in zend_ssa_is_no_val_use()
232 if (ssa_op->result_use == var in zend_ssa_is_no_val_use()
235 return ssa_op->op1_use != var && ssa_op->op2_use != var; in zend_ssa_is_no_val_use()
240 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
242 if (ssa_op->op1_def >= 0) { in zend_ssa_rename_defs_of_instr()
243 if (ssa_op->op1_use >= 0) { in zend_ssa_rename_defs_of_instr()
244 zend_ssa_rename_var_uses(ssa, ssa_op->op1_def, ssa_op->op1_use, 1); in zend_ssa_rename_defs_of_instr()
246 ssa->vars[ssa_op->op1_def].definition = -1; in zend_ssa_rename_defs_of_instr()
247 ssa_op->op1_def = -1; in zend_ssa_rename_defs_of_instr()
249 if (ssa_op->op2_def >= 0) { in zend_ssa_rename_defs_of_instr()
250 if (ssa_op->op2_use >= 0) { in zend_ssa_rename_defs_of_instr()
251 zend_ssa_rename_var_uses(ssa, ssa_op->op2_def, ssa_op->op2_use, 1); in zend_ssa_rename_defs_of_instr()
253 ssa->vars[ssa_op->op2_def].definition = -1; in zend_ssa_rename_defs_of_instr()
254 ssa_op->op2_def = -1; in zend_ssa_rename_defs_of_instr()
256 if (ssa_op->result_def >= 0) { in zend_ssa_rename_defs_of_instr()
257 if (ssa_op->result_use >= 0) { in zend_ssa_rename_defs_of_instr()
258 zend_ssa_rename_var_uses(ssa, ssa_op->result_def, ssa_op->result_use, 1); in zend_ssa_rename_defs_of_instr()
260 ssa->vars[ssa_op->result_def].definition = -1; in zend_ssa_rename_defs_of_instr()
261 ssa_op->result_def = -1; in zend_ssa_rename_defs_of_instr()