Skip to content

Commit 0866208

Browse files
committed
Remove useless register allocations
1 parent 972041d commit 0866208

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

ext/opcache/jit/zend_jit_trace.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2633,6 +2633,13 @@ static zend_lifetime_interval** zend_jit_trace_allocate_registers(zend_jit_trace
26332633
if (intervals[def]) {
26342634
if (!intervals[use]) {
26352635
intervals[def]->flags |= ZREG_LOAD;
2636+
if ((intervals[def]->flags & ZREG_LAST_USE)
2637+
&& ssa->vars[def].use_chain >= 0
2638+
&& ssa->vars[def].use_chain == intervals[def]->range.end) {
2639+
/* remove interval used once */
2640+
intervals[def] = NULL;
2641+
count--;
2642+
}
26362643
} else if (intervals[def]->reg != intervals[use]->reg) {
26372644
intervals[def]->flags |= ZREG_LOAD;
26382645
if (ssa->vars[use].use_chain >= 0) {

0 commit comments

Comments
 (0)