diff --git a/ext/opcache/Optimizer/dfa_pass.c b/ext/opcache/Optimizer/dfa_pass.c index 63785d6b378..7335c6a12b6 100644 --- a/ext/opcache/Optimizer/dfa_pass.c +++ b/ext/opcache/Optimizer/dfa_pass.c @@ -470,6 +470,15 @@ void zend_dfa_optimize_op_array(zend_op_array *op_array, zend_optimizer_ctx *ctx } } + if (ZEND_OPTIMIZER_PASS_14 & ctx->optimization_level) { + if (dce_optimize_op_array(op_array, ssa, 0)) { + remove_nops = 1; + } + if (ctx->debug_level & ZEND_DUMP_AFTER_PASS_14) { + zend_dump_op_array(op_array, ZEND_DUMP_SSA, "after dce pass", ssa); + } + } + for (v = op_array->last_var; v < ssa->vars_count; v++) { op_1 = ssa->vars[v].definition; @@ -719,15 +728,6 @@ void zend_dfa_optimize_op_array(zend_op_array *op_array, zend_optimizer_ctx *ctx } } - if (ZEND_OPTIMIZER_PASS_14 & ctx->optimization_level) { - if (dce_optimize_op_array(op_array, ssa, 0)) { - remove_nops = 1; - } - if (ctx->debug_level & ZEND_DUMP_AFTER_PASS_14) { - zend_dump_op_array(op_array, ZEND_DUMP_SSA, "after dce pass", ssa); - } - } - if (remove_nops) { zend_ssa_remove_nops(op_array, ssa); }