Lines Matching refs:ops
178 ssa->ops[target] = ssa->ops[i]; in zend_ssa_remove_nops()
224 if (ssa->ops[i].op1_use_chain >= 0) { in zend_ssa_remove_nops()
225 ssa->ops[i].op1_use_chain -= shiftlist[ssa->ops[i].op1_use_chain]; in zend_ssa_remove_nops()
227 if (ssa->ops[i].op2_use_chain >= 0) { in zend_ssa_remove_nops()
228 ssa->ops[i].op2_use_chain -= shiftlist[ssa->ops[i].op2_use_chain]; in zend_ssa_remove_nops()
230 if (ssa->ops[i].res_use_chain >= 0) { in zend_ssa_remove_nops()
231 ssa->ops[i].res_use_chain -= shiftlist[ssa->ops[i].res_use_chain]; in zend_ssa_remove_nops()
365 && zend_may_throw(opline, &ssa->ops[ssa->vars[src_var].definition], op_array, ssa)) { in opline_supports_assign_contraction()
375 const zend_ssa_op *ssa_op = &ssa->ops[start]; in variable_defined_or_used_in_range()
463 zend_ssa_op *ssa_op = ssa->ops + op_num; in zend_dfa_optimize_calls()
475 ssa_op = ssa->ops + op_num; in zend_dfa_optimize_calls()
499 ssa_op = ssa->ops + op_num; in zend_dfa_optimize_calls()
508 && ssa->ops[use].op1_use == var in zend_dfa_optimize_calls()
509 && ssa->ops[use].op1_use_chain == -1 in zend_dfa_optimize_calls()
725 int ssa_var = ssa->ops[fe_fetch_block->start + fe_fetch_block->len - 1].op2_def; in zend_ssa_unlink_block()
774 ssa_op = ssa->ops + op_num; in zend_dfa_optimize_jmps()
1048 int result_var = ssa->ops[def].result_def; in zend_dfa_try_to_replace_result()
1059 && zend_ssa_next_use(ssa->ops, result_var, use) < 0 in zend_dfa_try_to_replace_result()
1082 ssa->ops[def].result_def = -1; in zend_dfa_try_to_replace_result()
1087 if (ssa->ops[use].op1_use == result_var) { in zend_dfa_try_to_replace_result()
1088 ssa->ops[use].op1_use = cv_var; in zend_dfa_try_to_replace_result()
1089 ssa->ops[use].op1_use_chain = ssa->vars[cv_var].use_chain; in zend_dfa_try_to_replace_result()
1094 } else if (ssa->ops[use].op2_use == result_var) { in zend_dfa_try_to_replace_result()
1095 ssa->ops[use].op2_use = cv_var; in zend_dfa_try_to_replace_result()
1096 ssa->ops[use].op2_use_chain = ssa->vars[cv_var].use_chain; in zend_dfa_try_to_replace_result()
1101 } else if (ssa->ops[use].result_use == result_var) { in zend_dfa_try_to_replace_result()
1102 ssa->ops[use].result_use = cv_var; in zend_dfa_try_to_replace_result()
1103 ssa->ops[use].res_use_chain = ssa->vars[cv_var].use_chain; in zend_dfa_try_to_replace_result()
1185 ssa_op = &ssa->ops[op_1]; in zend_dfa_optimize_op_array()
1191 && ssa->ops[op_1].op1_def == v in zend_dfa_optimize_op_array()
1253 ssa->ops[op_1].op1_use = ssa->ops[op_1].op2_use; in zend_dfa_optimize_op_array()
1254 ssa->ops[op_1].op1_use_chain = ssa->ops[op_1].op2_use_chain; in zend_dfa_optimize_op_array()
1255 ssa->ops[op_1].op2_use = -1; in zend_dfa_optimize_op_array()
1256 ssa->ops[op_1].op2_use_chain = -1; in zend_dfa_optimize_op_array()
1294 && ssa->ops[op_1].op1_def == v in zend_dfa_optimize_op_array()
1295 && ssa->ops[op_1].op1_use >= 0 in zend_dfa_optimize_op_array()
1296 && ssa->ops[op_1].op1_use_chain == -1 in zend_dfa_optimize_op_array()
1298 && can_elide_return_type_check(op_array, ssa, &ssa->ops[op_1])) { in zend_dfa_optimize_op_array()
1302 int orig_var = ssa->ops[op_1].op1_use; in zend_dfa_optimize_op_array()
1307 ssa->ops[ret].op1_use = orig_var; in zend_dfa_optimize_op_array()
1308 ssa->ops[ret].op1_use_chain = ssa->vars[orig_var].use_chain; in zend_dfa_optimize_op_array()
1314 ssa->ops[op_1].op1_def = -1; in zend_dfa_optimize_op_array()
1315 ssa->ops[op_1].op1_use = -1; in zend_dfa_optimize_op_array()
1324 && ssa->ops[op_1].result_def == v in zend_dfa_optimize_op_array()
1329 int src_var = ssa->ops[op_1].op1_use; in zend_dfa_optimize_op_array()
1334 && ssa->ops[ssa->vars[src_var].definition].result_def == src_var in zend_dfa_optimize_op_array()
1335 && ssa->ops[ssa->vars[src_var].definition].result_use < 0 in zend_dfa_optimize_op_array()
1337 && ssa->ops[op_1].op1_use_chain < 0 in zend_dfa_optimize_op_array()
1347 int orig_var = ssa->ops[op_1].result_use; in zend_dfa_optimize_op_array()
1356 ssa->ops[op_2].result_def = v; in zend_dfa_optimize_op_array()
1361 ssa->ops[op_1].op1_use = -1; in zend_dfa_optimize_op_array()
1362 ssa->ops[op_1].op1_def = -1; in zend_dfa_optimize_op_array()
1363 ssa->ops[op_1].op1_use_chain = -1; in zend_dfa_optimize_op_array()
1364 ssa->ops[op_1].result_use = -1; in zend_dfa_optimize_op_array()
1365 ssa->ops[op_1].result_def = -1; in zend_dfa_optimize_op_array()
1366 ssa->ops[op_1].res_use_chain = -1; in zend_dfa_optimize_op_array()
1381 && ssa->ops[op_2].op1_use >= 0 in zend_dfa_optimize_op_array()
1382 …&& !(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()
1388 ssa->ops[op_2].result_def = -1; in zend_dfa_optimize_op_array()
1389 ssa->ops[op_2].op1_def = v; in zend_dfa_optimize_op_array()
1397 && ssa->ops[op_2].op1_use >= 0 in zend_dfa_optimize_op_array()
1398 …&& !(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()
1404 ssa->ops[op_2].result_def = -1; in zend_dfa_optimize_op_array()
1405 ssa->ops[op_2].op1_def = v; in zend_dfa_optimize_op_array()
1413 && ssa->ops[op_2].op2_use >= 0 in zend_dfa_optimize_op_array()
1414 …&& !(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()
1422 ssa->ops[op_2].result_def = -1; in zend_dfa_optimize_op_array()
1423 ssa->ops[op_2].op1_def = v; in zend_dfa_optimize_op_array()
1424 ssa->ops[op_2].op1_use = ssa->ops[op_2].op2_use; in zend_dfa_optimize_op_array()
1425 ssa->ops[op_2].op1_use_chain = ssa->ops[op_2].op2_use_chain; in zend_dfa_optimize_op_array()
1426 ssa->ops[op_2].op2_use = -1; in zend_dfa_optimize_op_array()
1427 ssa->ops[op_2].op2_use_chain = -1; in zend_dfa_optimize_op_array()
1438 if (ssa->ops[op_1].op1_def == v in zend_dfa_optimize_op_array()
1446 int result_var = ssa->ops[op_1].result_def; in zend_dfa_optimize_op_array()
1453 && ssa->ops[use].op1_use == result_var in zend_dfa_optimize_op_array()
1460 int result_var = ssa->ops[op_1].result_def; in zend_dfa_optimize_op_array()
1467 && ssa->ops[use].op2_use == result_var in zend_dfa_optimize_op_array()
1477 && ssa->ops[op_1].op1_def == v in zend_dfa_optimize_op_array()
1480 int orig_var = ssa->ops[op_1].op1_use; in zend_dfa_optimize_op_array()
1485 int src_var = ssa->ops[op_1].op2_use; in zend_dfa_optimize_op_array()
1491 && ssa->ops[ssa->vars[src_var].definition].result_def == src_var in zend_dfa_optimize_op_array()
1492 && ssa->ops[ssa->vars[src_var].definition].result_use < 0 in zend_dfa_optimize_op_array()
1494 && ssa->ops[op_1].op2_use_chain < 0 in zend_dfa_optimize_op_array()
1512 ssa->ops[op_2].result_def = v; in zend_dfa_optimize_op_array()
1517 ssa->ops[op_1].op1_use = -1; in zend_dfa_optimize_op_array()
1518 ssa->ops[op_1].op2_use = -1; in zend_dfa_optimize_op_array()
1519 ssa->ops[op_1].op1_def = -1; in zend_dfa_optimize_op_array()
1520 ssa->ops[op_1].op1_use_chain = -1; in zend_dfa_optimize_op_array()
1535 && ssa->ops[op_2].op1_use >= 0 in zend_dfa_optimize_op_array()
1536 …&& !(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()
1542 ssa->ops[op_2].result_def = -1; in zend_dfa_optimize_op_array()
1543 ssa->ops[op_2].op1_def = v; in zend_dfa_optimize_op_array()
1551 && ssa->ops[op_2].op1_use >= 0 in zend_dfa_optimize_op_array()
1552 …&& !(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()
1558 ssa->ops[op_2].result_def = -1; in zend_dfa_optimize_op_array()
1559 ssa->ops[op_2].op1_def = v; in zend_dfa_optimize_op_array()
1567 && ssa->ops[op_2].op2_use >= 0 in zend_dfa_optimize_op_array()
1568 …&& !(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()
1576 ssa->ops[op_2].result_def = -1; in zend_dfa_optimize_op_array()
1577 ssa->ops[op_2].op1_def = v; in zend_dfa_optimize_op_array()
1578 ssa->ops[op_2].op1_use = ssa->ops[op_2].op2_use; in zend_dfa_optimize_op_array()
1579 ssa->ops[op_2].op1_use_chain = ssa->ops[op_2].op2_use_chain; in zend_dfa_optimize_op_array()
1580 ssa->ops[op_2].op2_use = -1; in zend_dfa_optimize_op_array()
1581 ssa->ops[op_2].op2_use_chain = -1; in zend_dfa_optimize_op_array()
1586 && ssa->ops[op_1].op2_use >= 0 in zend_dfa_optimize_op_array()
1587 && ssa->ops[op_1].op2_def < 0) in zend_dfa_optimize_op_array()
1592 if (ssa->ops[op_1].op1_use != ssa->ops[op_1].op2_use) { in zend_dfa_optimize_op_array()
1595 ssa->ops[op_1].op2_use_chain = ssa->ops[op_1].op1_use_chain; in zend_dfa_optimize_op_array()
1599 ssa->ops[op_1].result_def = v; in zend_dfa_optimize_op_array()
1600 ssa->ops[op_1].op1_def = -1; in zend_dfa_optimize_op_array()
1601 ssa->ops[op_1].op1_use = ssa->ops[op_1].op2_use; in zend_dfa_optimize_op_array()
1602 ssa->ops[op_1].op1_use_chain = ssa->ops[op_1].op2_use_chain; in zend_dfa_optimize_op_array()
1603 ssa->ops[op_1].op2_use = -1; in zend_dfa_optimize_op_array()
1604 ssa->ops[op_1].op2_use_chain = -1; in zend_dfa_optimize_op_array()
1619 && ssa->ops[op_1].op1_def == v in zend_dfa_optimize_op_array()
1623 && ssa->ops[op_1].op1_use >= 0 in zend_dfa_optimize_op_array()
1624 …&& !(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()
1634 && ssa->ops[op_1].op1_def == v in zend_dfa_optimize_op_array()
1638 && ssa->ops[op_1].op1_use >= 0 in zend_dfa_optimize_op_array()
1639 …&& !(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()
1647 } else if (ssa->ops[op_1].op1_def == v in zend_dfa_optimize_op_array()
1649 && ssa->ops[op_1].op1_use >= 0 in zend_dfa_optimize_op_array()
1650 …&& !(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()
1657 ssa->ops[op_1].result_def = ssa->ops[op_1].op1_def; in zend_dfa_optimize_op_array()
1658 ssa->ops[op_1].op1_def = -1; in zend_dfa_optimize_op_array()