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()
721 int ssa_var = ssa->ops[fe_fetch_block->start + fe_fetch_block->len - 1].op2_def; in zend_ssa_unlink_block()
770 ssa_op = ssa->ops + op_num; in zend_dfa_optimize_jmps()
1010 int result_var = ssa->ops[def].result_def; in zend_dfa_try_to_replace_result()
1021 && zend_ssa_next_use(ssa->ops, result_var, use) < 0 in zend_dfa_try_to_replace_result()
1044 ssa->ops[def].result_def = -1; in zend_dfa_try_to_replace_result()
1049 if (ssa->ops[use].op1_use == result_var) { in zend_dfa_try_to_replace_result()
1050 ssa->ops[use].op1_use = cv_var; in zend_dfa_try_to_replace_result()
1051 ssa->ops[use].op1_use_chain = ssa->vars[cv_var].use_chain; in zend_dfa_try_to_replace_result()
1056 } else if (ssa->ops[use].op2_use == result_var) { in zend_dfa_try_to_replace_result()
1057 ssa->ops[use].op2_use = cv_var; in zend_dfa_try_to_replace_result()
1058 ssa->ops[use].op2_use_chain = ssa->vars[cv_var].use_chain; in zend_dfa_try_to_replace_result()
1063 } else if (ssa->ops[use].result_use == result_var) { in zend_dfa_try_to_replace_result()
1064 ssa->ops[use].result_use = cv_var; in zend_dfa_try_to_replace_result()
1065 ssa->ops[use].res_use_chain = ssa->vars[cv_var].use_chain; in zend_dfa_try_to_replace_result()
1147 ssa_op = &ssa->ops[op_1]; in zend_dfa_optimize_op_array()
1153 && ssa->ops[op_1].op1_def == v in zend_dfa_optimize_op_array()
1215 ssa->ops[op_1].op1_use = ssa->ops[op_1].op2_use; in zend_dfa_optimize_op_array()
1216 ssa->ops[op_1].op1_use_chain = ssa->ops[op_1].op2_use_chain; in zend_dfa_optimize_op_array()
1217 ssa->ops[op_1].op2_use = -1; in zend_dfa_optimize_op_array()
1218 ssa->ops[op_1].op2_use_chain = -1; in zend_dfa_optimize_op_array()
1235 ssa->ops[op_1].op1_use = ssa->ops[op_1].op2_use; in zend_dfa_optimize_op_array()
1236 ssa->ops[op_1].op1_use_chain = ssa->ops[op_1].op2_use_chain; in zend_dfa_optimize_op_array()
1280 ssa->ops[op_1].op2_use = ssa->ops[op_1].op1_use; in zend_dfa_optimize_op_array()
1281 ssa->ops[op_1].op2_use_chain = ssa->ops[op_1].op1_use_chain; in zend_dfa_optimize_op_array()
1292 && ssa->ops[op_1].op1_def == v in zend_dfa_optimize_op_array()
1293 && ssa->ops[op_1].op1_use >= 0) { in zend_dfa_optimize_op_array()
1294 int orig_var = ssa->ops[op_1].op1_use; in zend_dfa_optimize_op_array()
1297 if (ssa->ops[op_1].op1_use_chain == -1 in zend_dfa_optimize_op_array()
1298 && can_elide_return_type_check(ctx->script, op_array, ssa, &ssa->ops[op_1])) { in zend_dfa_optimize_op_array()
1305 ssa->ops[ret].op1_use = orig_var; in zend_dfa_optimize_op_array()
1306 ssa->ops[ret].op1_use_chain = ssa->vars[orig_var].use_chain; in zend_dfa_optimize_op_array()
1313 ssa->ops[op_1].op1_def = -1; in zend_dfa_optimize_op_array()
1314 ssa->ops[op_1].op1_use = -1; in zend_dfa_optimize_op_array()
1319 && ssa->ops[ret].op1_use == v in zend_dfa_optimize_op_array()
1320 && ssa->ops[ret].op1_use_chain == -1 in zend_dfa_optimize_op_array()
1321 && can_elide_return_type_check(ctx->script, op_array, ssa, &ssa->ops[op_1])) { in zend_dfa_optimize_op_array()
1327 ssa->ops[ret].op1_use = orig_var; in zend_dfa_optimize_op_array()
1328 ssa->ops[ret].op1_use_chain = ssa->ops[op_1].op1_use_chain; in zend_dfa_optimize_op_array()
1333 ssa->ops[op_1].op1_def = -1; in zend_dfa_optimize_op_array()
1334 ssa->ops[op_1].op1_use = -1; in zend_dfa_optimize_op_array()
1343 && ssa->ops[op_1].result_def == v in zend_dfa_optimize_op_array()
1348 int src_var = ssa->ops[op_1].op1_use; in zend_dfa_optimize_op_array()
1354 && ssa->ops[ssa->vars[src_var].definition].result_def == src_var in zend_dfa_optimize_op_array()
1355 && ssa->ops[ssa->vars[src_var].definition].result_use < 0 in zend_dfa_optimize_op_array()
1357 && ssa->ops[op_1].op1_use_chain < 0 in zend_dfa_optimize_op_array()
1367 int orig_var = ssa->ops[op_1].result_use; in zend_dfa_optimize_op_array()
1379 ssa->ops[op_2].result_def = v; in zend_dfa_optimize_op_array()
1384 ssa->ops[op_1].op1_use = -1; in zend_dfa_optimize_op_array()
1385 ssa->ops[op_1].op1_def = -1; in zend_dfa_optimize_op_array()
1386 ssa->ops[op_1].op1_use_chain = -1; in zend_dfa_optimize_op_array()
1387 ssa->ops[op_1].result_use = -1; in zend_dfa_optimize_op_array()
1388 ssa->ops[op_1].result_def = -1; in zend_dfa_optimize_op_array()
1389 ssa->ops[op_1].res_use_chain = -1; in zend_dfa_optimize_op_array()
1404 && ssa->ops[op_2].op1_use >= 0 in zend_dfa_optimize_op_array()
1405 …&& !(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()
1411 ssa->ops[op_2].result_def = -1; in zend_dfa_optimize_op_array()
1412 ssa->ops[op_2].op1_def = v; in zend_dfa_optimize_op_array()
1420 && ssa->ops[op_2].op1_use >= 0 in zend_dfa_optimize_op_array()
1421 …&& !(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()
1427 ssa->ops[op_2].result_def = -1; in zend_dfa_optimize_op_array()
1428 ssa->ops[op_2].op1_def = v; in zend_dfa_optimize_op_array()
1436 && ssa->ops[op_2].op2_use >= 0 in zend_dfa_optimize_op_array()
1437 …&& !(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()
1445 ssa->ops[op_2].result_def = -1; in zend_dfa_optimize_op_array()
1446 ssa->ops[op_2].op1_def = v; in zend_dfa_optimize_op_array()
1447 ssa->ops[op_2].op1_use = ssa->ops[op_2].op2_use; in zend_dfa_optimize_op_array()
1448 ssa->ops[op_2].op1_use_chain = ssa->ops[op_2].op2_use_chain; in zend_dfa_optimize_op_array()
1449 ssa->ops[op_2].op2_use = -1; in zend_dfa_optimize_op_array()
1450 ssa->ops[op_2].op2_use_chain = -1; in zend_dfa_optimize_op_array()
1460 if (ssa->ops[op_1].op1_def == v in zend_dfa_optimize_op_array()
1468 int result_var = ssa->ops[op_1].result_def; in zend_dfa_optimize_op_array()
1475 && ssa->ops[use].op1_use == result_var in zend_dfa_optimize_op_array()
1482 int result_var = ssa->ops[op_1].result_def; in zend_dfa_optimize_op_array()
1489 && ssa->ops[use].op2_use == result_var in zend_dfa_optimize_op_array()
1499 && ssa->ops[op_1].op1_def == v in zend_dfa_optimize_op_array()
1502 int orig_var = ssa->ops[op_1].op1_use; in zend_dfa_optimize_op_array()
1507 int src_var = ssa->ops[op_1].op2_use; in zend_dfa_optimize_op_array()
1514 && ssa->ops[ssa->vars[src_var].definition].result_def == src_var in zend_dfa_optimize_op_array()
1515 && ssa->ops[ssa->vars[src_var].definition].result_use < 0 in zend_dfa_optimize_op_array()
1517 && ssa->ops[op_1].op2_use_chain < 0 in zend_dfa_optimize_op_array()
1535 ssa->ops[op_2].result_def = v; in zend_dfa_optimize_op_array()
1540 ssa->ops[op_1].op1_use = -1; in zend_dfa_optimize_op_array()
1541 ssa->ops[op_1].op2_use = -1; in zend_dfa_optimize_op_array()
1542 ssa->ops[op_1].op1_def = -1; in zend_dfa_optimize_op_array()
1543 ssa->ops[op_1].op1_use_chain = -1; in zend_dfa_optimize_op_array()
1558 && ssa->ops[op_2].op1_use >= 0 in zend_dfa_optimize_op_array()
1559 …&& !(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()
1565 ssa->ops[op_2].result_def = -1; in zend_dfa_optimize_op_array()
1566 ssa->ops[op_2].op1_def = v; in zend_dfa_optimize_op_array()
1574 && ssa->ops[op_2].op1_use >= 0 in zend_dfa_optimize_op_array()
1575 …&& !(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()
1581 ssa->ops[op_2].result_def = -1; in zend_dfa_optimize_op_array()
1582 ssa->ops[op_2].op1_def = v; in zend_dfa_optimize_op_array()
1590 && ssa->ops[op_2].op2_use >= 0 in zend_dfa_optimize_op_array()
1591 …&& !(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()
1599 ssa->ops[op_2].result_def = -1; in zend_dfa_optimize_op_array()
1600 ssa->ops[op_2].op1_def = v; in zend_dfa_optimize_op_array()
1601 ssa->ops[op_2].op1_use = ssa->ops[op_2].op2_use; in zend_dfa_optimize_op_array()
1602 ssa->ops[op_2].op1_use_chain = ssa->ops[op_2].op2_use_chain; in zend_dfa_optimize_op_array()
1603 ssa->ops[op_2].op2_use = -1; in zend_dfa_optimize_op_array()
1604 ssa->ops[op_2].op2_use_chain = -1; in zend_dfa_optimize_op_array()
1608 && ssa->ops[op_1].op2_use >= 0 in zend_dfa_optimize_op_array()
1609 && ssa->ops[op_1].op2_def < 0) in zend_dfa_optimize_op_array()
1614 if (ssa->ops[op_1].op1_use != ssa->ops[op_1].op2_use) { in zend_dfa_optimize_op_array()
1617 ssa->ops[op_1].op2_use_chain = ssa->ops[op_1].op1_use_chain; in zend_dfa_optimize_op_array()
1621 ssa->ops[op_1].result_def = v; in zend_dfa_optimize_op_array()
1622 ssa->ops[op_1].op1_def = -1; in zend_dfa_optimize_op_array()
1623 ssa->ops[op_1].op1_use = ssa->ops[op_1].op2_use; in zend_dfa_optimize_op_array()
1624 ssa->ops[op_1].op1_use_chain = ssa->ops[op_1].op2_use_chain; in zend_dfa_optimize_op_array()
1625 ssa->ops[op_1].op2_use = -1; in zend_dfa_optimize_op_array()
1626 ssa->ops[op_1].op2_use_chain = -1; in zend_dfa_optimize_op_array()
1641 && ssa->ops[op_1].op1_def == v in zend_dfa_optimize_op_array()
1645 && ssa->ops[op_1].op1_use >= 0 in zend_dfa_optimize_op_array()
1646 …&& !(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()
1656 && ssa->ops[op_1].op1_def == v in zend_dfa_optimize_op_array()
1660 && ssa->ops[op_1].op1_use >= 0 in zend_dfa_optimize_op_array()
1661 …&& !(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()
1669 } else if (ssa->ops[op_1].op1_def == v in zend_dfa_optimize_op_array()
1671 && ssa->ops[op_1].op1_use >= 0 in zend_dfa_optimize_op_array()
1672 …&& !(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()
1679 ssa->ops[op_1].result_def = ssa->ops[op_1].op1_def; in zend_dfa_optimize_op_array()
1680 ssa->ops[op_1].op1_def = -1; in zend_dfa_optimize_op_array()