]> granicus.if.org Git - php/commitdiff
Avoid useless register allocation
authorDmitry Stogov <dmitry@zend.com>
Tue, 13 Oct 2020 08:37:33 +0000 (11:37 +0300)
committerDmitry Stogov <dmitry@zend.com>
Tue, 13 Oct 2020 08:37:33 +0000 (11:37 +0300)
ext/opcache/jit/zend_jit_trace.c

index 598815dfe3e1b581431033258576d8f73d07259a..31d12437283a7a08a14e737a7f6c111b1708c67b 100644 (file)
@@ -2157,6 +2157,7 @@ static zend_lifetime_interval** zend_jit_trace_allocate_registers(zend_jit_trace
                vars_op_array[i] = op_array;
                /* We don't start intervals for variables used in Phi */
                if ((ssa->vars[i].use_chain >= 0 /*|| ssa->vars[i].phi_use_chain*/)
+                && !zend_ssa_is_no_val_use(ssa_opcodes[ssa->vars[i].use_chain], ssa->ops + ssa->vars[i].use_chain, i)
                 && zend_jit_var_supports_reg(ssa, i)
                 && zend_jit_var_may_alias(op_array, op_array_ssa, i) == NO_ALIAS) {
                        start[i] = 0;