Lines Matching refs:ops
163 ssa->ops[target] = ssa->ops[i]; in zend_ssa_remove_nops()
209 if (ssa->ops[i].op1_use_chain >= 0) { in zend_ssa_remove_nops()
210 ssa->ops[i].op1_use_chain -= shiftlist[ssa->ops[i].op1_use_chain]; in zend_ssa_remove_nops()
212 if (ssa->ops[i].op2_use_chain >= 0) { in zend_ssa_remove_nops()
213 ssa->ops[i].op2_use_chain -= shiftlist[ssa->ops[i].op2_use_chain]; in zend_ssa_remove_nops()
215 if (ssa->ops[i].res_use_chain >= 0) { in zend_ssa_remove_nops()
216 ssa->ops[i].res_use_chain -= shiftlist[ssa->ops[i].res_use_chain]; in zend_ssa_remove_nops()
363 && zend_may_throw(opline, &ssa->ops[ssa->vars[src_var].definition], op_array, ssa)) { in opline_supports_assign_contraction()
373 const zend_ssa_op *ssa_op = &ssa->ops[start]; in variable_defined_or_used_in_range()
462 zend_ssa_op *ssa_op = ssa->ops + op_num; in zend_dfa_optimize_calls()
474 ssa_op = ssa->ops + op_num; in zend_dfa_optimize_calls()
498 ssa_op = ssa->ops + op_num; in zend_dfa_optimize_calls()
507 && ssa->ops[use].op1_use == var in zend_dfa_optimize_calls()
508 && ssa->ops[use].op1_use_chain == -1 in zend_dfa_optimize_calls()
720 int ssa_var = ssa->ops[fe_fetch_block->start + fe_fetch_block->len - 1].op2_def; in zend_ssa_unlink_block()
769 ssa_op = ssa->ops + op_num; in zend_dfa_optimize_jmps()
1009 int result_var = ssa->ops[def].result_def; in zend_dfa_try_to_replace_result()
1020 && zend_ssa_next_use(ssa->ops, result_var, use) < 0 in zend_dfa_try_to_replace_result()
1043 ssa->ops[def].result_def = -1; in zend_dfa_try_to_replace_result()
1048 if (ssa->ops[use].op1_use == result_var) { in zend_dfa_try_to_replace_result()
1049 ssa->ops[use].op1_use = cv_var; in zend_dfa_try_to_replace_result()
1050 ssa->ops[use].op1_use_chain = ssa->vars[cv_var].use_chain; in zend_dfa_try_to_replace_result()
1055 } else if (ssa->ops[use].op2_use == result_var) { in zend_dfa_try_to_replace_result()
1056 ssa->ops[use].op2_use = cv_var; in zend_dfa_try_to_replace_result()
1057 ssa->ops[use].op2_use_chain = ssa->vars[cv_var].use_chain; in zend_dfa_try_to_replace_result()
1062 } else if (ssa->ops[use].result_use == result_var) { in zend_dfa_try_to_replace_result()
1063 ssa->ops[use].result_use = cv_var; in zend_dfa_try_to_replace_result()
1064 ssa->ops[use].res_use_chain = ssa->vars[cv_var].use_chain; in zend_dfa_try_to_replace_result()
1146 ssa_op = &ssa->ops[op_1]; in zend_dfa_optimize_op_array()
1152 && ssa->ops[op_1].op1_def == v in zend_dfa_optimize_op_array()
1214 ssa->ops[op_1].op1_use = ssa->ops[op_1].op2_use; in zend_dfa_optimize_op_array()
1215 ssa->ops[op_1].op1_use_chain = ssa->ops[op_1].op2_use_chain; in zend_dfa_optimize_op_array()
1216 ssa->ops[op_1].op2_use = -1; in zend_dfa_optimize_op_array()
1217 ssa->ops[op_1].op2_use_chain = -1; in zend_dfa_optimize_op_array()
1234 ssa->ops[op_1].op1_use = ssa->ops[op_1].op2_use; in zend_dfa_optimize_op_array()
1235 ssa->ops[op_1].op1_use_chain = ssa->ops[op_1].op2_use_chain; in zend_dfa_optimize_op_array()
1279 ssa->ops[op_1].op2_use = ssa->ops[op_1].op1_use; in zend_dfa_optimize_op_array()
1280 ssa->ops[op_1].op2_use_chain = ssa->ops[op_1].op1_use_chain; in zend_dfa_optimize_op_array()
1291 && ssa->ops[op_1].op1_def == v in zend_dfa_optimize_op_array()
1292 && ssa->ops[op_1].op1_use >= 0) { in zend_dfa_optimize_op_array()
1293 int orig_var = ssa->ops[op_1].op1_use; in zend_dfa_optimize_op_array()
1296 if (ssa->ops[op_1].op1_use_chain == -1 in zend_dfa_optimize_op_array()
1297 && can_elide_return_type_check(ctx->script, op_array, ssa, &ssa->ops[op_1])) { in zend_dfa_optimize_op_array()
1304 ssa->ops[ret].op1_use = orig_var; in zend_dfa_optimize_op_array()
1305 ssa->ops[ret].op1_use_chain = ssa->vars[orig_var].use_chain; in zend_dfa_optimize_op_array()
1312 ssa->ops[op_1].op1_def = -1; in zend_dfa_optimize_op_array()
1313 ssa->ops[op_1].op1_use = -1; in zend_dfa_optimize_op_array()
1318 && ssa->ops[ret].op1_use == v in zend_dfa_optimize_op_array()
1319 && ssa->ops[ret].op1_use_chain == -1 in zend_dfa_optimize_op_array()
1320 && can_elide_return_type_check(ctx->script, op_array, ssa, &ssa->ops[op_1])) { in zend_dfa_optimize_op_array()
1326 ssa->ops[ret].op1_use = orig_var; in zend_dfa_optimize_op_array()
1327 ssa->ops[ret].op1_use_chain = ssa->ops[op_1].op1_use_chain; in zend_dfa_optimize_op_array()
1332 ssa->ops[op_1].op1_def = -1; in zend_dfa_optimize_op_array()
1333 ssa->ops[op_1].op1_use = -1; in zend_dfa_optimize_op_array()
1342 && ssa->ops[op_1].result_def == v in zend_dfa_optimize_op_array()
1347 int src_var = ssa->ops[op_1].op1_use; in zend_dfa_optimize_op_array()
1353 && ssa->ops[ssa->vars[src_var].definition].result_def == src_var in zend_dfa_optimize_op_array()
1354 && ssa->ops[ssa->vars[src_var].definition].result_use < 0 in zend_dfa_optimize_op_array()
1356 && ssa->ops[op_1].op1_use_chain < 0 in zend_dfa_optimize_op_array()
1366 int orig_var = ssa->ops[op_1].result_use; in zend_dfa_optimize_op_array()
1378 ssa->ops[op_2].result_def = v; in zend_dfa_optimize_op_array()
1383 ssa->ops[op_1].op1_use = -1; in zend_dfa_optimize_op_array()
1384 ssa->ops[op_1].op1_def = -1; in zend_dfa_optimize_op_array()
1385 ssa->ops[op_1].op1_use_chain = -1; in zend_dfa_optimize_op_array()
1386 ssa->ops[op_1].result_use = -1; in zend_dfa_optimize_op_array()
1387 ssa->ops[op_1].result_def = -1; in zend_dfa_optimize_op_array()
1388 ssa->ops[op_1].res_use_chain = -1; in zend_dfa_optimize_op_array()
1403 && ssa->ops[op_2].op1_use >= 0 in zend_dfa_optimize_op_array()
1404 …&& !(ssa->var_info[ssa->ops[op_2].op1_use].type & (MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_STRING|MAY_BE_A… in zend_dfa_optimize_op_array()
1410 ssa->ops[op_2].result_def = -1; in zend_dfa_optimize_op_array()
1411 ssa->ops[op_2].op1_def = v; in zend_dfa_optimize_op_array()
1419 && ssa->ops[op_2].op1_use >= 0 in zend_dfa_optimize_op_array()
1420 …&& !(ssa->var_info[ssa->ops[op_2].op1_use].type & (MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_STRING|MAY_BE_A… in zend_dfa_optimize_op_array()
1426 ssa->ops[op_2].result_def = -1; in zend_dfa_optimize_op_array()
1427 ssa->ops[op_2].op1_def = v; in zend_dfa_optimize_op_array()
1435 && ssa->ops[op_2].op2_use >= 0 in zend_dfa_optimize_op_array()
1436 …&& !(ssa->var_info[ssa->ops[op_2].op2_use].type & (MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_STRING|MAY_BE_A… in zend_dfa_optimize_op_array()
1444 ssa->ops[op_2].result_def = -1; in zend_dfa_optimize_op_array()
1445 ssa->ops[op_2].op1_def = v; in zend_dfa_optimize_op_array()
1446 ssa->ops[op_2].op1_use = ssa->ops[op_2].op2_use; in zend_dfa_optimize_op_array()
1447 ssa->ops[op_2].op1_use_chain = ssa->ops[op_2].op2_use_chain; in zend_dfa_optimize_op_array()
1448 ssa->ops[op_2].op2_use = -1; in zend_dfa_optimize_op_array()
1449 ssa->ops[op_2].op2_use_chain = -1; in zend_dfa_optimize_op_array()
1459 if (ssa->ops[op_1].op1_def == v in zend_dfa_optimize_op_array()
1467 int result_var = ssa->ops[op_1].result_def; in zend_dfa_optimize_op_array()
1474 && ssa->ops[use].op1_use == result_var in zend_dfa_optimize_op_array()
1481 int result_var = ssa->ops[op_1].result_def; in zend_dfa_optimize_op_array()
1488 && ssa->ops[use].op2_use == result_var in zend_dfa_optimize_op_array()
1498 && ssa->ops[op_1].op1_def == v in zend_dfa_optimize_op_array()
1501 int orig_var = ssa->ops[op_1].op1_use; in zend_dfa_optimize_op_array()
1506 int src_var = ssa->ops[op_1].op2_use; in zend_dfa_optimize_op_array()
1513 && ssa->ops[ssa->vars[src_var].definition].result_def == src_var in zend_dfa_optimize_op_array()
1514 && ssa->ops[ssa->vars[src_var].definition].result_use < 0 in zend_dfa_optimize_op_array()
1516 && ssa->ops[op_1].op2_use_chain < 0 in zend_dfa_optimize_op_array()
1534 ssa->ops[op_2].result_def = v; in zend_dfa_optimize_op_array()
1539 ssa->ops[op_1].op1_use = -1; in zend_dfa_optimize_op_array()
1540 ssa->ops[op_1].op2_use = -1; in zend_dfa_optimize_op_array()
1541 ssa->ops[op_1].op1_def = -1; in zend_dfa_optimize_op_array()
1542 ssa->ops[op_1].op1_use_chain = -1; in zend_dfa_optimize_op_array()
1557 && ssa->ops[op_2].op1_use >= 0 in zend_dfa_optimize_op_array()
1558 …&& !(ssa->var_info[ssa->ops[op_2].op1_use].type & (MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_STRING|MAY_BE_A… in zend_dfa_optimize_op_array()
1564 ssa->ops[op_2].result_def = -1; in zend_dfa_optimize_op_array()
1565 ssa->ops[op_2].op1_def = v; in zend_dfa_optimize_op_array()
1573 && ssa->ops[op_2].op1_use >= 0 in zend_dfa_optimize_op_array()
1574 …&& !(ssa->var_info[ssa->ops[op_2].op1_use].type & (MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_STRING|MAY_BE_A… in zend_dfa_optimize_op_array()
1580 ssa->ops[op_2].result_def = -1; in zend_dfa_optimize_op_array()
1581 ssa->ops[op_2].op1_def = v; in zend_dfa_optimize_op_array()
1589 && ssa->ops[op_2].op2_use >= 0 in zend_dfa_optimize_op_array()
1590 …&& !(ssa->var_info[ssa->ops[op_2].op2_use].type & (MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_STRING|MAY_BE_A… in zend_dfa_optimize_op_array()
1598 ssa->ops[op_2].result_def = -1; in zend_dfa_optimize_op_array()
1599 ssa->ops[op_2].op1_def = v; in zend_dfa_optimize_op_array()
1600 ssa->ops[op_2].op1_use = ssa->ops[op_2].op2_use; in zend_dfa_optimize_op_array()
1601 ssa->ops[op_2].op1_use_chain = ssa->ops[op_2].op2_use_chain; in zend_dfa_optimize_op_array()
1602 ssa->ops[op_2].op2_use = -1; in zend_dfa_optimize_op_array()
1603 ssa->ops[op_2].op2_use_chain = -1; in zend_dfa_optimize_op_array()
1607 && ssa->ops[op_1].op2_use >= 0 in zend_dfa_optimize_op_array()
1608 && ssa->ops[op_1].op2_def < 0) in zend_dfa_optimize_op_array()
1613 if (ssa->ops[op_1].op1_use != ssa->ops[op_1].op2_use) { in zend_dfa_optimize_op_array()
1616 ssa->ops[op_1].op2_use_chain = ssa->ops[op_1].op1_use_chain; in zend_dfa_optimize_op_array()
1620 ssa->ops[op_1].result_def = v; in zend_dfa_optimize_op_array()
1621 ssa->ops[op_1].op1_def = -1; in zend_dfa_optimize_op_array()
1622 ssa->ops[op_1].op1_use = ssa->ops[op_1].op2_use; in zend_dfa_optimize_op_array()
1623 ssa->ops[op_1].op1_use_chain = ssa->ops[op_1].op2_use_chain; in zend_dfa_optimize_op_array()
1624 ssa->ops[op_1].op2_use = -1; in zend_dfa_optimize_op_array()
1625 ssa->ops[op_1].op2_use_chain = -1; in zend_dfa_optimize_op_array()
1640 && ssa->ops[op_1].op1_def == v in zend_dfa_optimize_op_array()
1644 && ssa->ops[op_1].op1_use >= 0 in zend_dfa_optimize_op_array()
1645 …&& !(ssa->var_info[ssa->ops[op_1].op1_use].type & (MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_STRING|MAY_BE_A… in zend_dfa_optimize_op_array()
1655 && ssa->ops[op_1].op1_def == v in zend_dfa_optimize_op_array()
1659 && ssa->ops[op_1].op1_use >= 0 in zend_dfa_optimize_op_array()
1660 …&& !(ssa->var_info[ssa->ops[op_1].op1_use].type & (MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TR… in zend_dfa_optimize_op_array()
1668 } else if (ssa->ops[op_1].op1_def == v in zend_dfa_optimize_op_array()
1670 && ssa->ops[op_1].op1_use >= 0 in zend_dfa_optimize_op_array()
1671 …&& !(ssa->var_info[ssa->ops[op_1].op1_use].type & (MAY_BE_STRING|MAY_BE_ARRAY|MAY_BE_OBJECT|MAY_BE… in zend_dfa_optimize_op_array()
1678 ssa->ops[op_1].result_def = ssa->ops[op_1].op1_def; in zend_dfa_optimize_op_array()
1679 ssa->ops[op_1].op1_def = -1; in zend_dfa_optimize_op_array()