Skip to content

Commit 4f5aed5

Browse files
committed
Only clear it if it needs to be cleared
1 parent 492d70f commit 4f5aed5

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

Zend/Optimizer/dfa_pass.c

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -466,12 +466,14 @@ int zend_dfa_optimize_calls(zend_op_array *op_array, zend_ssa *ssa)
466466
int var_num = ssa_op->op1_use;
467467
zend_ssa_var *var = ssa->vars + var_num;
468468

469-
/* TODO: move to somewhere common */
470-
int op1_new = ssa_op->op1_use;
471-
/* zend_ssa_rename_var_uses() clear use_chain & phi_use_chain for us */
472-
zend_ssa_rename_var_uses(ssa, ssa_op->op1_def, op1_new, true);
473-
ssa->vars[ssa_op->op1_def].definition = -1;
474-
ssa_op->op1_def = -1;
469+
if (ssa_op->op1_def >= 0) {
470+
/* TODO: move to somewhere common */
471+
int op1_new = ssa_op->op1_use;
472+
/* zend_ssa_rename_var_uses() clear use_chain & phi_use_chain for us */
473+
zend_ssa_rename_var_uses(ssa, ssa_op->op1_def, op1_new, true);
474+
ssa->vars[ssa_op->op1_def].definition = -1;
475+
ssa_op->op1_def = -1;
476+
}
475477
//ZEND_ASSERT(ssa_op->op1_def < 0);
476478
zend_ssa_unlink_use_chain(ssa, op_num, ssa_op->op1_use);
477479
ssa_op->op1_use = -1;

0 commit comments

Comments
 (0)