Skip to content

Commit af9b127

Browse files
committed
Make constant and copy propagation only for IS_TMP_VAR operands
1 parent e45a757 commit af9b127

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

ext/opcache/Optimizer/block_pass.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ static void zend_optimize_block(zend_basic_block *block, zend_op_array *op_array
181181
end = opline + block->len;
182182
while (opline < end) {
183183
/* Constant Propagation: strip X = QM_ASSIGN(const) */
184-
if ((opline->op1_type & (IS_TMP_VAR|IS_VAR)) &&
184+
if (opline->op1_type == IS_TMP_VAR &&
185185
opline->opcode != ZEND_FREE) {
186186
src = VAR_SOURCE(opline->op1);
187187
if (src &&
@@ -257,7 +257,7 @@ static void zend_optimize_block(zend_basic_block *block, zend_op_array *op_array
257257
}
258258

259259
/* Constant Propagation: strip X = QM_ASSIGN(const) */
260-
if (opline->op2_type & (IS_TMP_VAR|IS_VAR)) {
260+
if (opline->op2_type == IS_TMP_VAR) {
261261
src = VAR_SOURCE(opline->op2);
262262
if (src &&
263263
src->opcode == ZEND_QM_ASSIGN &&
@@ -860,7 +860,7 @@ static void zend_optimize_block(zend_basic_block *block, zend_op_array *op_array
860860

861861
case ZEND_RETURN:
862862
case ZEND_EXIT:
863-
if (opline->op1_type & (IS_TMP_VAR|IS_VAR)) {
863+
if (opline->op1_type == IS_TMP_VAR) {
864864
src = VAR_SOURCE(opline->op1);
865865
if (src && src->opcode == ZEND_QM_ASSIGN) {
866866
zend_op *op = src + 1;

0 commit comments

Comments
 (0)