Lines Matching refs:ops

177 							ssa->ops[target] = ssa->ops[i];  in zend_ssa_remove_nops()
223 if (ssa->ops[i].op1_use_chain >= 0) { in zend_ssa_remove_nops()
224 ssa->ops[i].op1_use_chain -= shiftlist[ssa->ops[i].op1_use_chain]; in zend_ssa_remove_nops()
226 if (ssa->ops[i].op2_use_chain >= 0) { in zend_ssa_remove_nops()
227 ssa->ops[i].op2_use_chain -= shiftlist[ssa->ops[i].op2_use_chain]; in zend_ssa_remove_nops()
229 if (ssa->ops[i].res_use_chain >= 0) { in zend_ssa_remove_nops()
230 ssa->ops[i].res_use_chain -= shiftlist[ssa->ops[i].res_use_chain]; in zend_ssa_remove_nops()
377 && zend_may_throw(opline, &ssa->ops[ssa->vars[src_var].definition], op_array, ssa)) { in opline_supports_assign_contraction()
387 const zend_ssa_op *ssa_op = &ssa->ops[start]; in variable_defined_or_used_in_range()
476 zend_ssa_op *ssa_op = ssa->ops + op_num; in zend_dfa_optimize_calls()
488 ssa_op = ssa->ops + op_num; in zend_dfa_optimize_calls()
512 ssa_op = ssa->ops + op_num; in zend_dfa_optimize_calls()
521 && ssa->ops[use].op1_use == var in zend_dfa_optimize_calls()
522 && ssa->ops[use].op1_use_chain == -1 in zend_dfa_optimize_calls()
738 int ssa_var = ssa->ops[fe_fetch_block->start + fe_fetch_block->len - 1].op2_def; in zend_ssa_unlink_block()
787 ssa_op = ssa->ops + op_num; in zend_dfa_optimize_jmps()
1070 int result_var = ssa->ops[def].result_def; in zend_dfa_try_to_replace_result()
1081 && zend_ssa_next_use(ssa->ops, result_var, use) < 0 in zend_dfa_try_to_replace_result()
1104 ssa->ops[def].result_def = -1; in zend_dfa_try_to_replace_result()
1109 if (ssa->ops[use].op1_use == result_var) { in zend_dfa_try_to_replace_result()
1110 ssa->ops[use].op1_use = cv_var; in zend_dfa_try_to_replace_result()
1111 ssa->ops[use].op1_use_chain = ssa->vars[cv_var].use_chain; in zend_dfa_try_to_replace_result()
1116 } else if (ssa->ops[use].op2_use == result_var) { in zend_dfa_try_to_replace_result()
1117 ssa->ops[use].op2_use = cv_var; in zend_dfa_try_to_replace_result()
1118 ssa->ops[use].op2_use_chain = ssa->vars[cv_var].use_chain; in zend_dfa_try_to_replace_result()
1123 } else if (ssa->ops[use].result_use == result_var) { in zend_dfa_try_to_replace_result()
1124 ssa->ops[use].result_use = cv_var; in zend_dfa_try_to_replace_result()
1125 ssa->ops[use].res_use_chain = ssa->vars[cv_var].use_chain; in zend_dfa_try_to_replace_result()
1207 ssa_op = &ssa->ops[op_1]; in zend_dfa_optimize_op_array()
1213 && ssa->ops[op_1].op1_def == v in zend_dfa_optimize_op_array()
1275 ssa->ops[op_1].op1_use = ssa->ops[op_1].op2_use; in zend_dfa_optimize_op_array()
1276 ssa->ops[op_1].op1_use_chain = ssa->ops[op_1].op2_use_chain; in zend_dfa_optimize_op_array()
1277 ssa->ops[op_1].op2_use = -1; in zend_dfa_optimize_op_array()
1278 ssa->ops[op_1].op2_use_chain = -1; in zend_dfa_optimize_op_array()
1295 ssa->ops[op_1].op1_use = ssa->ops[op_1].op2_use; in zend_dfa_optimize_op_array()
1296 ssa->ops[op_1].op1_use_chain = ssa->ops[op_1].op2_use_chain; in zend_dfa_optimize_op_array()
1340 ssa->ops[op_1].op2_use = ssa->ops[op_1].op1_use; in zend_dfa_optimize_op_array()
1341 ssa->ops[op_1].op2_use_chain = ssa->ops[op_1].op1_use_chain; in zend_dfa_optimize_op_array()
1352 && ssa->ops[op_1].op1_def == v in zend_dfa_optimize_op_array()
1353 && ssa->ops[op_1].op1_use >= 0 in zend_dfa_optimize_op_array()
1354 && ssa->ops[op_1].op1_use_chain == -1 in zend_dfa_optimize_op_array()
1355 && can_elide_return_type_check(ctx->script, op_array, ssa, &ssa->ops[op_1])) { in zend_dfa_optimize_op_array()
1359 int orig_var = ssa->ops[op_1].op1_use; in zend_dfa_optimize_op_array()
1364 ssa->ops[ret].op1_use = orig_var; in zend_dfa_optimize_op_array()
1365 ssa->ops[ret].op1_use_chain = ssa->vars[orig_var].use_chain; in zend_dfa_optimize_op_array()
1372 ssa->ops[op_1].op1_def = -1; in zend_dfa_optimize_op_array()
1373 ssa->ops[op_1].op1_use = -1; in zend_dfa_optimize_op_array()
1382 && ssa->ops[op_1].result_def == v in zend_dfa_optimize_op_array()
1387 int src_var = ssa->ops[op_1].op1_use; in zend_dfa_optimize_op_array()
1393 && ssa->ops[ssa->vars[src_var].definition].result_def == src_var in zend_dfa_optimize_op_array()
1394 && ssa->ops[ssa->vars[src_var].definition].result_use < 0 in zend_dfa_optimize_op_array()
1396 && ssa->ops[op_1].op1_use_chain < 0 in zend_dfa_optimize_op_array()
1406 int orig_var = ssa->ops[op_1].result_use; in zend_dfa_optimize_op_array()
1415 ssa->ops[op_2].result_def = v; in zend_dfa_optimize_op_array()
1420 ssa->ops[op_1].op1_use = -1; in zend_dfa_optimize_op_array()
1421 ssa->ops[op_1].op1_def = -1; in zend_dfa_optimize_op_array()
1422 ssa->ops[op_1].op1_use_chain = -1; in zend_dfa_optimize_op_array()
1423 ssa->ops[op_1].result_use = -1; in zend_dfa_optimize_op_array()
1424 ssa->ops[op_1].result_def = -1; in zend_dfa_optimize_op_array()
1425 ssa->ops[op_1].res_use_chain = -1; in zend_dfa_optimize_op_array()
1440 && ssa->ops[op_2].op1_use >= 0 in zend_dfa_optimize_op_array()
1441 …&& !(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()
1447 ssa->ops[op_2].result_def = -1; in zend_dfa_optimize_op_array()
1448 ssa->ops[op_2].op1_def = v; in zend_dfa_optimize_op_array()
1456 && ssa->ops[op_2].op1_use >= 0 in zend_dfa_optimize_op_array()
1457 …&& !(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()
1463 ssa->ops[op_2].result_def = -1; in zend_dfa_optimize_op_array()
1464 ssa->ops[op_2].op1_def = v; in zend_dfa_optimize_op_array()
1472 && ssa->ops[op_2].op2_use >= 0 in zend_dfa_optimize_op_array()
1473 …&& !(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()
1481 ssa->ops[op_2].result_def = -1; in zend_dfa_optimize_op_array()
1482 ssa->ops[op_2].op1_def = v; in zend_dfa_optimize_op_array()
1483 ssa->ops[op_2].op1_use = ssa->ops[op_2].op2_use; in zend_dfa_optimize_op_array()
1484 ssa->ops[op_2].op1_use_chain = ssa->ops[op_2].op2_use_chain; in zend_dfa_optimize_op_array()
1485 ssa->ops[op_2].op2_use = -1; in zend_dfa_optimize_op_array()
1486 ssa->ops[op_2].op2_use_chain = -1; in zend_dfa_optimize_op_array()
1497 if (ssa->ops[op_1].op1_def == v in zend_dfa_optimize_op_array()
1505 int result_var = ssa->ops[op_1].result_def; in zend_dfa_optimize_op_array()
1512 && ssa->ops[use].op1_use == result_var in zend_dfa_optimize_op_array()
1519 int result_var = ssa->ops[op_1].result_def; in zend_dfa_optimize_op_array()
1526 && ssa->ops[use].op2_use == result_var in zend_dfa_optimize_op_array()
1536 && ssa->ops[op_1].op1_def == v in zend_dfa_optimize_op_array()
1539 int orig_var = ssa->ops[op_1].op1_use; in zend_dfa_optimize_op_array()
1544 int src_var = ssa->ops[op_1].op2_use; in zend_dfa_optimize_op_array()
1551 && ssa->ops[ssa->vars[src_var].definition].result_def == src_var in zend_dfa_optimize_op_array()
1552 && ssa->ops[ssa->vars[src_var].definition].result_use < 0 in zend_dfa_optimize_op_array()
1554 && ssa->ops[op_1].op2_use_chain < 0 in zend_dfa_optimize_op_array()
1572 ssa->ops[op_2].result_def = v; in zend_dfa_optimize_op_array()
1577 ssa->ops[op_1].op1_use = -1; in zend_dfa_optimize_op_array()
1578 ssa->ops[op_1].op2_use = -1; in zend_dfa_optimize_op_array()
1579 ssa->ops[op_1].op1_def = -1; in zend_dfa_optimize_op_array()
1580 ssa->ops[op_1].op1_use_chain = -1; in zend_dfa_optimize_op_array()
1595 && ssa->ops[op_2].op1_use >= 0 in zend_dfa_optimize_op_array()
1596 …&& !(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()
1602 ssa->ops[op_2].result_def = -1; in zend_dfa_optimize_op_array()
1603 ssa->ops[op_2].op1_def = v; in zend_dfa_optimize_op_array()
1611 && ssa->ops[op_2].op1_use >= 0 in zend_dfa_optimize_op_array()
1612 …&& !(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()
1618 ssa->ops[op_2].result_def = -1; in zend_dfa_optimize_op_array()
1619 ssa->ops[op_2].op1_def = v; in zend_dfa_optimize_op_array()
1627 && ssa->ops[op_2].op2_use >= 0 in zend_dfa_optimize_op_array()
1628 …&& !(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()
1636 ssa->ops[op_2].result_def = -1; in zend_dfa_optimize_op_array()
1637 ssa->ops[op_2].op1_def = v; in zend_dfa_optimize_op_array()
1638 ssa->ops[op_2].op1_use = ssa->ops[op_2].op2_use; in zend_dfa_optimize_op_array()
1639 ssa->ops[op_2].op1_use_chain = ssa->ops[op_2].op2_use_chain; in zend_dfa_optimize_op_array()
1640 ssa->ops[op_2].op2_use = -1; in zend_dfa_optimize_op_array()
1641 ssa->ops[op_2].op2_use_chain = -1; in zend_dfa_optimize_op_array()
1646 && ssa->ops[op_1].op2_use >= 0 in zend_dfa_optimize_op_array()
1647 && ssa->ops[op_1].op2_def < 0) in zend_dfa_optimize_op_array()
1652 if (ssa->ops[op_1].op1_use != ssa->ops[op_1].op2_use) { in zend_dfa_optimize_op_array()
1655 ssa->ops[op_1].op2_use_chain = ssa->ops[op_1].op1_use_chain; in zend_dfa_optimize_op_array()
1659 ssa->ops[op_1].result_def = v; in zend_dfa_optimize_op_array()
1660 ssa->ops[op_1].op1_def = -1; in zend_dfa_optimize_op_array()
1661 ssa->ops[op_1].op1_use = ssa->ops[op_1].op2_use; in zend_dfa_optimize_op_array()
1662 ssa->ops[op_1].op1_use_chain = ssa->ops[op_1].op2_use_chain; in zend_dfa_optimize_op_array()
1663 ssa->ops[op_1].op2_use = -1; in zend_dfa_optimize_op_array()
1664 ssa->ops[op_1].op2_use_chain = -1; in zend_dfa_optimize_op_array()
1679 && ssa->ops[op_1].op1_def == v in zend_dfa_optimize_op_array()
1683 && ssa->ops[op_1].op1_use >= 0 in zend_dfa_optimize_op_array()
1684 …&& !(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()
1694 && ssa->ops[op_1].op1_def == v in zend_dfa_optimize_op_array()
1698 && ssa->ops[op_1].op1_use >= 0 in zend_dfa_optimize_op_array()
1699 …&& !(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()
1707 } else if (ssa->ops[op_1].op1_def == v in zend_dfa_optimize_op_array()
1709 && ssa->ops[op_1].op1_use >= 0 in zend_dfa_optimize_op_array()
1710 …&& !(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()
1717 ssa->ops[op_1].result_def = ssa->ops[op_1].op1_def; in zend_dfa_optimize_op_array()
1718 ssa->ops[op_1].op1_def = -1; in zend_dfa_optimize_op_array()